코드
#include <iostream>
using namespace std;
int n,cnt,k;
int main() {
cin >> n;
// 몇 번째 대각선에 있는지 찾기 위한 코드
// cnt가 n보다 커진 경우, 해당 i번째 대각선에 N번째 원소 존재
for(int i = 1; cnt < n; i++) {
cnt += i;
k = i;
}
// 대각선의 홀짝에 따라 분자/분모의 증가 감소 케이스 분류
// 홀수번째 대각선의 경우 분모 감소 - 분자 증가
if(k%2 != 0) cout << (-n+cnt)+1 << '/' << n-(cnt-k);
// 짝수번째 대각선의 경우 분모 증가 - 분모 감소
else cout << (n-(cnt-k)) << '/' << (-n+cnt+1);
return 0;
}
'백준' 카테고리의 다른 글
[백준] 1018번 체스판 다시 칠하기 C++ 코드 (1) | 2024.05.02 |
---|---|
[백준] 1316번 그룹 단어 체커 C++ 코드 (0) | 2024.05.02 |
[백준] 4134번 다음 소수 C++ 코드 (0) | 2024.04.29 |
[백준] 24511번 queuestack C++ 코드 (0) | 2024.04.29 |
[백준] 10814번 나이순 정렬 C++ 코드 (0) | 2024.04.23 |