BOJ - 분수찾기 1193
·
코딩테스트
해결방법문제를 자세히 살펴보면 삼각수를 구하는 문제와 같다는 것을 알 수 있다.k*(k+1)/2 이 공식을 이용하여 어느 라인인지, 그리고 몇번째 위치인지를 구하고 분자와 분모를 구해주면 된다. 정답 코드#include using namespace std;int main(){ long long X, k = 1, pos, right, left; cin >> X; while (X > k * (k + 1) / 2) { k++; } pos = X - (k * (k - 1) / 2); if (k % 2 == 0) { right = pos; left = k - pos + 1; } else { right = ..