#include <stdio.h>
int main() {
int N, son, mother;
// (1,1/1) (2,1/2) (3,2/1) (4,3/1) (5,2/2) (6,1/3), (7~10) (11~15)
// 1+1 1+2,2+1 3+1, 2+2, 1+3 1+4,..,4+1
// a=1 a=2 a=3 4 5
// b=0 b=1, 0 b=2, 1, 0 b=3 ~ 0 b=4~0
scanf("%d", &N);
int sum = 0;
int a = 1;
int b = 0;
while (1) { //몇번째 대각선인지(분자분모더해서같은것끼리그룹핑)
sum += a;
if (N <= sum) {
b = sum - N;
break;
} // b는 같은그룹내 뒤에서 몇번째인지
a ++;
}
if (a % 2 == 1) {
son = b + 1; //a가 홀수일 경우, 1에서 a까지 분모가 1씩증가, 분자 1씩감소
mother = a - b;
}
if (a % 2 == 0) {
son = a - b; //a가 짝수일 경우, 1에서 a까지 분자가 1씩증가, 분모 1씩감소
mother = b + 1;
}
printf("%d/%d", son, mother);
}
공부/백준