본문 바로가기
백준알고리즘/기본 수학1

(Python/🥉1)백준 알고리즘 1193번: 분수찾기

by windy7271 2022. 5. 12.
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이다

 

반응형

댓글