// UVa 264 - Count on Cantor
#include <iostream>
#include <cmath>
using namespace std;
#define datatype unsigned long long int
int main(){
datatype n;
while (cin >> n){
double d = ceil((sqrt(1+8*n) - 1)/2);
datatype m = (datatype) (d - 1);
datatype nn = n - (m+1)*m/2;
m++;
datatype a,b;
if (m%2 == 0){
a = nn;
b = m+1-nn;
} else {
b = nn;
a = m+1-nn;
}
cout << "TERM " << n << " IS " << a << "/" << b << endl;
}
return 0;
}
No comments:
Post a Comment