Cantor表
Time Limit:1000MS Memory Limit:65536K
Description
现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的:
我们以Z字形给上表的每一项编号。第一项是1/1,然后是1/2,2/1,3/1,2/2,…
Input
整数N(1 ≤ N ≤ 10000000)
Output
表中的第N项
Sample Input
7
Sample Output
1/4
Source
NOIP1999第五届全国青少年信息学奥林匹克分区联赛普及组复赛第一题
//水题…… #include<iostream> #include<algorithm> using namespace std; int main(){ int i,j; int n,m,x; scanf("%d",&n); m=n; for(x=1;m>x;x++) m-=x; if(x%2!=1){ i=1; j=x; for(int q=1;q<m;q++){ i++; j--; } } else { i=x; j=1; for(int q=1;q<m;q++){ i--; j++; } } printf("%d/%d",i,j); }