朋友们帮帮忙———用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

1/1 1/2 1/3 1/4 1/5 1/6 1/7 1/8 1/9
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好友`再下感激不尽~

这个很简单的:你先建一个FORM窗体做为父窗体,添加一个menuStrip控件上去,把FORM的contains 的属性设置成true;在在menuStrip中添加你要在父窗体中显示的窗体,要显示几个就添加几个。双击你添加的表名在代码区写上:
比如:要加的第二个窗体 Form2
代码:
Form2 fm=new Form2
fm.MdiParent=this;
fm.Show();
Form2窗体是你自己新建的.不会在问我好了。
参考技术A 这个东西很简单,不过要说的出来也很麻烦。
如果看一个示范程序几下就知道怎么做了,
如果要的话留下邮箱,我可以给你发个做WinForn应用程序界面的例子

以上是关于朋友们帮帮忙———用PASCAL语言证明Georg Cantor的主要内容,如果未能解决你的问题,请参考以下文章

关于用js改变背景图片的问题(包含背景音乐)JQ也行,什么都行,请朋友们帮忙看看能不能写出来

thinkphp5多语言切换,大神们帮帮忙!

一道C语言编程题,求大神们帮帮忙,谢谢了。。

如何用c语言编写图形操作的软件呢??

DIV+CSS如何实现一行文字显示不下的自动隐藏!虽然是很菜鸟的问题但还是希望大神们帮帮忙哈!下面有截图

Delphi插入Form