康托尔怎么证明有理数可以枚举

来源:百度知道 编辑:UC知道 时间:2024/05/30 13:19:12
我是深中编程竞赛的学生最近遇到这一道高手题!想请求各位用C++语言帮小弟解决一下!!!有劳!!!

现代数学的著名证明之一是Georg Cantor(康托尔)证明了有理数是可枚举的。
他是用下面这一张表来证明这一命题的:
1/1 1/2 1/3 1/4 1/5 ...
2/1 2/2 2/3 2/4 ...
3/1 3/2 3/3 ...
4/1 4/2 ...
5/1 ...
...
我们以z字型给上表的每一项编号。第1项是1/1,然后是1/2,2/1,3/1,2/2...

#include<cstdio>int main(){ int n,x,y,i; scanf("%d",&n); x=n; for(i=1;;i++){ x-=i; if(x<=0) break; } y=x+i; x=i; if(x%2==0) printf("%d/%d",y,x+1-y); else printf("%d/%d",x+1-y,x+1-(x+1-y));}

有同项式 就可以写 ,kuaigeiwojiagaofen

有同项式 就可以写