PersonalCorpus 版 (精华区)
1044161 Big Guava ... 493 Accepted 0:00.360
392 2002/08/27 05:16:41.927
int gcd(int a, int b)
{
if (b==0) return a; else return gcd(b,a%b);
}
void main()
{
int i,j,k,x,y,n;
bool ok;
while (scanf("%d\n",&n)==1) {
if (n==0) { printf("1 / 1\n"); continue; }
if (n==1) { printf("0 / 1\n"); continue; }
if (n==2) { printf("-1 / 1\n"); continue; }
x=y=1; ok=true; n-=1;
while (n>0) {
if (ok) {
if (x==y) { ok=false; continue; }
x++;
if (x==0) continue;
if (gcd(abs(x),y)==1) { n--; continue; }
} else {
if (x==-y) { ok=true; x=-x-1; y=1-y; continue; }
y--;
if (y==0) continue;
if (gcd(x,abs(y))==1) { n--; continue; }
}
}
if (x>0) printf("%d / %d\n",y,x); else printf("%d / %d\n",-y,
-x);
}
}
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:1.891毫秒