代码改变世界

cantor数表

2013-02-06 11:15  Dr.Ray  阅读(247)  评论(0)    收藏  举报

#include<stdio.h>

int findline(int n) {     for(int i = 1;;i++)     {         if(i*(i-1)/2 >= n)         {             return i-1;         }     } }

int  main() {     int n,temp,line,rever;     scanf("%d",&n);     line = findline(n);     if(line%2 == 0)     {     temp = n - line*(line-1)/2;     rever = line - temp + 1;     }     else if(line%2 == 1)     {         rever = n - line*(line - 1)/2;         temp = line - rever + 1;

    }     printf("%d/%d\n",temp,rever); }

简单数学,没啥特别的