codevs天梯 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,…




代碼:

var
  n,i,temp,sum:longint;


begin
  readln(n);
  for i:=1 to n do
    if (1+i)*i div 2>=n then
      break;
  temp:=i-1;
  sum:=(1+temp)*temp div 2;
  if temp mod 2=1 then
    writeln(n-sum,'/',temp+2-n+sum)
  else
    writeln(temp+2-n+sum,'/',n-sum);
end.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章