728x90
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
if (n == 1) {
cout << "1/1";
return 0;
}
int index = 2;
int sum = 1;
while (true) {
if (sum > n) {
sum -= (index - 2);
int numerator;
int denominator;
if (index % 2 == 1) {
numerator = 1;
denominator = index - 1;
while (sum != n) {
numerator++;
denominator--;
sum++;
}
}
else {
numerator = index - 1;
denominator = 1;
while (sum != n) {
numerator--;
denominator++;
sum++;
}
}
cout << numerator << "/" << denominator;
break;
}
else if (sum == n) {
if (index % 2 == 0) {
cout << 1 << "/" <<index - 1;
}
else {
cout << index - 1 << "/" << 1;
}
break;
}
else {
sum += index;
index++;
}
}
return 0;
}
728x90
'알고리즘 문제' 카테고리의 다른 글
[백준] 2292번 벌집 (0) | 2020.01.31 |
---|---|
[백준] 2193번 이친수 (0) | 2020.01.31 |
[백준] 2751번 수 정렬하기 2 (0) | 2020.01.31 |
[백준] 10828번 스택 (0) | 2020.01.31 |
[백준] 10814번 나이순 정렬 (0) | 2020.01.30 |