728x90
반응형
문제 출처: https://www.acmicpc.net/problem/1193
1193번: 분수찾기
첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다.
www.acmicpc.net
풀이:
n = int(input())
line = 1
while n > line: # 입력받은 수가 몇번째 라인에 있는지 확인
n -= line
line += 1
if line%2==0: # 라인이 짝수라면
a = n
b = line-n+1
else: # 라인이 홀수라면
a=line-n+1
b=n
print(a,'/',b,sep='')
어려운 문제다
n = 입력받은 숫자
line은 입력받은 숫자가 몇번째 라인에 있는지
대각선기준 1개 2개 3개 4개 ... 이렇게 늘어나므로
입력받은 숫자가 라인수보다 크면 라인에 있는 개수만큼 빼주고 라인은 1개 늘려준다
while 문을 통해서 몇번째 라인에 몇번째 수 라는걸 알 수 있다.
line이 짝수면 분자는 n이고 반대로 line이 홀수면 분모가 n이다
반응형
댓글