Sunday, June 7, 2015

UVa 264 - Count on Cantor

// 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