现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的:
我们以Z字形给上表的每一项编号。第一项是1/1,然后是1/2,2/1,3/1,2/2,…
输入:整数N(1≤N≤10000000) 输出:表中的第N项
样例: INPUT OUTPUT
N=7 1/4
[参考代码]
#include<bits/stdc++.h>
using namespace std;
int main() {
long long n;
cin>>n;
if(n==1) {
cout<<1<<'/'<<1;
return 0;
}
int s=2,o=1;
bool f=false;
int na=1,nb=2;
while(true) {
for(int i=1; i<=s; i++) {
o++;
if(o==n) {
if(f==false)
cout<<i<<'/'<<s-i+1;
else
cout<<s-i+1<<'/'<<i;
return 0;
}
}
s++;
if(f==false)
f=true;
else
f=false;
}
return 0;
}