<problem>
이와 같이 나열된 분수들을 1/1 -> 1/2 -> 2/1 -> 3/1 -> 2/2 -> … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자.
X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오.
<input>
첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다.
<output>
첫째 줄에 분수를 출력한다.
<example>
<solution ①>
- X번째 분수를 구하기 위해 X 값을 입력받아 변수 X에 저장
- 분수의 분모, 분자의 합이 2부터 시작될 때에, 합이 같은 분수는 대각선으로 합-1개씩 존재하므로,
while문은 i < X 조건을 만족할 때까지 X -= i, i += 1 을 반복하여 구해야 하는 분수의 분모, 분자의 합을 구함
- if i % 2 == 0: i가 2의 배수인 경우 분모가 큰 수에서 작아지는 식으로 구현
else: 반대로 분자가 큰 수에서 작아지는 식으로 구현
- 마지막으로 출력 시, 분수의 형태로 출력하므로, sep 속성 사용하여 여러 개의 값 출력
- print(a, "/", b, sep = "")
ⓒ ⓞ ⓓ ⓔ
ⓣ ⓔ ⓢ ⓣ
ⓕ ⓘ ⓝ ⓐ ⓛ ⓒ ⓞ ⓓ ⓔ
'Python ◡̈ > 차근차근 Python' 카테고리의 다른 글
[백준 python] 10757 큰 수 A+B (0) | 2021.05.11 |
---|---|
[백준 python] 2839 설탕배달 (0) | 2021.05.11 |
[백준 python] 2292 벌집 (0) | 2021.05.11 |
[백준 python] 1712 손익분기점 (0) | 2021.05.11 |
[백준 python] 1316 그룹 단어 체커 (0) | 2021.05.09 |