Photolog
Back to list of problems
Count on Cantor
264.c
/* 264 - Count on Cantor */
#include <stdio.h>
#include <math.h>
void
cantor(int n) {
int x,y;
x = (sqrt(8*(n-1)+1)-1)/2;
#if DEBUG
printf("x = %d (%d/%d .. %d/%d)\n", x, 1, x+1, x+1, 1);
#endif
y = (1+x)*x/2;
y = n-y;
if (x % 2) {
printf("TERM %d IS %d/%d\n", n, y, x+2-y);
} else {
printf("TERM %d IS %d/%d\n", n, x+2-y, y);
}
#if DEBUG
printf("y = %d\n", y);
#endif
}
int
main(void) {
int n;
while (scanf("%d", &n)==1) {
cantor(n);
}
return 0;
}









