朋友们帮帮忙———用PASCAL语言证明Georg Cantor
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了朋友们帮帮忙———用PASCAL语言证明Georg Cantor相关的知识,希望对你有一定的参考价值。
现代数学的著名证明之一是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/2、2/1、3/1、2/2、1/3、1/4、2/3……。编程输入项号N(1<=N<=1000000),输出表中第N项。
例:输入:N=7
输出:1/4
2/1 2/2 2/3 2/4 2/5 2/6 2/7 2/8 2/9
3/1 3/2 3/3 3/4 3/5 3/6 3/7 3/8 3/9
4/1 4/2 4/3 4/4 4/5 4/6 4/7 4/8 4/9
5/1 5/2 5/3 5/4 5/5 5/6 5/7 5/8 5/9
将方阵看成以1/1为顶的一个三角形
1/1
2/1 1/2
3/1 2/2 1/3
4/1 3/2 2/3 1/4
cin>>N;
i=1;sum=0; //i为N所在行,sum是i行以前共多少个数
while(sum+i<N)sum+=i;i++; //确定N在哪一行,原理即sum<N<sum+i
x=N-sum; //确定i在行中是第几个数
if i/2==i div 2 a=1;b=i;step=1;
else a=i;b=1;step=-1; //确定N所在行的查找顺序是↗还是↙;a,b分别是分子和分母,其实也就是原方阵中各数的坐标
while(x>1)a+=step;b-=step;x--; //最终确定位置
cout<<a<<'/'<<b<<endl;
以上只是算法,具体用什么语言实现自己改 参考技术A var i,j,k,n:longint;
begin
write(’N=’);readln(n);
k:=1;
while n>k do
begin
n:=n-k;
k:=k+1;
end;
if k mod 2=0 then writeln(n,’/’,k-n+1)
else writeln(k-n+1,’/’,n);
end.
winform窗体问题`急等`请高手们帮忙解决
小弟想做一个小软件,想通过选择menuStrip选项,在窗体中的一个位置出现不同的界面,每个界面都要自己做吗?怎么做?
告诉我自己找资料的别回复,回复三五个字的也不用回复了,小弟比较愚钝,希望大家能体谅,回复全面细制点`谢谢了
谢谢一楼的朋友,可是后面Form2怎么编辑啊?我得先建一个窗体吧?
二楼的朋友,如果真能有个示范那最好不过了`我的QQ:304796000
可以的话发我QQ信箱里吧`
如果二位能加我的QQ好友`再下感激不尽~
比如:要加的第二个窗体 Form2
代码:
Form2 fm=new Form2
fm.MdiParent=this;
fm.Show();
Form2窗体是你自己新建的.不会在问我好了。 参考技术A 这个东西很简单,不过要说的出来也很麻烦。
如果看一个示范程序几下就知道怎么做了,
如果要的话留下邮箱,我可以给你发个做WinForn应用程序界面的例子
以上是关于朋友们帮帮忙———用PASCAL语言证明Georg Cantor的主要内容,如果未能解决你的问题,请参考以下文章
关于用js改变背景图片的问题(包含背景音乐)JQ也行,什么都行,请朋友们帮忙看看能不能写出来