Uva 880 Solution

/*
1/1 1/2 1/3 1/4 1/5 1/6

2/1 2/2 2/3 2/4 2/5 2/6
3/1 3/2 3/3 3/4 3/5 3/6
4/1 4/2 4/3 4/4 4/5 4/6
5/1 5/2 5/3 5/4 5/5 5/6
6/1 6/2 6/3 6/4 6/5 6/6
*/

#include<bits/stdc++.h>
#define ll long long int
using namespace std;
int main()
{
ll n;
while(cin >> n)
{
ll k = sqrt(2*n); /// Diagonals number

ll d = (k * (k+1))/2; /// size of diagonals by Gauss's formula

ll numerator = d - n;

if(numerator < 0)
{
k = k + 1;
d = (k * (k+1))/2;
numerator = d - n;
}

ll denominator = k - numerator;
numerator++;

cout << numerator << "/" << denominator << "\n";
}

    return 0;
}

Comments