1 条题解
-
0
C :
#include<stdio.h> int main() { long i=1,j=1,k=2,t; scanf("%ld",&t); while(--t) { if(k%2==0) { if(i==1) { j++; k++; } else { i--; j++; } } else { if(j==1) { i++; k++; } else { i++; j--; } } } printf("%ld/%ld\n",i,j); return 0; }
C++ :
#include<cstdio> int main() { int n; while(scanf("%d",&n)==1)//如果存在输入 { int k=1,s=0; for(;;) { s+=k; if(s>=n)//所求项是第k条对角线的倒数第s-n个元素 { printf("%d/%d\n", s-n+1,k-s+n); break; } k++; } } return 0; }//数学知识,先分析,小手
Pascal :
var n,i,x,y,a:longint; begin readln(n); x:=1;y:=1; i:=1;a:=1; while i<=n do begin inc(i); if a=1 then begin inc(x);dec(y);end else begin inc(y);dec(x);end; if x<=1 then begin a:=1; if i<=n then begin inc(i);inc(y);end;end; if y<=1 then begin a:=2; if i<=n then begin inc(x);inc(i);end;end; end; writeln(x,'/',y); end.
- 1
信息
- ID
- 192
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者