민호는 이산수학 강의를 듣는다. 어느 날 교수님이 양의 유리수가 가산집합임을 증명하고 과제를 내주셨다.
양의 유리수는 다음 규칙으로 빠짐없이 열거한다. 분자와 분모의 합이 같은 유리수를 한 묶음으로 모으고, 합이 작은 묶음부터 차례로 번호를 매긴다. 합이 s인 묶음에는 유리수가 s−1개 있고, 묶음 안에서는 분자가 큰 것부터 1s−1,2s−2,…,s−11 순서로 적는다.
그래서 열거 순서는 11,12,21,13,22,31,14,… 이 된다. 첫 번째 유리수는 11, 두 번째는 12, 세 번째는 21, 네 번째는 13, 다섯 번째는 22이다.
11,22,33처럼 값이 같은 분수도 서로 다른 항으로 센다. 약분은 하지 않는다.
과제가 하기 싫은 민호는 컴공과답게 N번째 유리수를 구하는 프로그램을 만들려고 한다. N번째 유리수를 구하여라.