回档|Cantor表

题目描述 Description
现代数学的著名证明之一是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,…

输入输出格式 Input/output
输入格式:
整数N(1≤N≤10000000)
输出格式:
表中的第N项

输入输出样例 Sample input/output
输入样例:7
输出样例:1/4

题目分析:很简单的一道数学题目,算是模拟吧……读入n之后看n是第几斜排,再根据x的奇偶判断是顺时针还是逆时针。

源代码:

var n,x:longint; 
begin 
  readln(n); 
  x:=0; 
  while n>0 do begin inc(x); dec(n,x); end; 
  if x mod 2=0 then writeln((x+n),'/',(1-n)) else writeln((1-n),'/',(x+n)); 
end. 
原文地址:https://www.cnblogs.com/Shymuel/p/4393548.html