现代数学的著名证明之一是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,…
分析:数据给出了n<=10000000,所以绝对不可以开数组。但这题仔细一看规律实在太明显了,只要找出所求的n在行,再暴力判断就可以得出正解
var n,i,k,sum:longint; begin readln(n); for i:=1 to n do if (1+i)*i div 2>=n then break; k:=i-1;sum:=(1+k)*k div 2; if odd(k) then writeln(n-sum,'/',k+2-n+sum) else writeln(k+2-n+sum,'/',n-sum); end.