[백준/파이썬] 4619번 루트 풀이

업데이트:



문제 정보


풀이

문제

a^nb에 가장 가까워지도록 하는 정수 a를 구하는 문제입니다.

코드

while True:
    b,n=map(int,input().split())
    if n==0:break
    a1=int(b**(1/n))
    a2=a1+1
    an1,an2=a1**n,a2**n
    print(a1 if abs(b-an1)<abs(b-an2)else a2)

설명

n제곱근 근처의 정수 후보 두 개(a1, a1+1)만 비교하면 가장 가까운 값을 효율적으로 찾을 수 있습니다.



이런 주제는 어떠신가요?

비슷한 난이도와 유형의 문제를 이어서 보면 풀이 감각을 더 빠르게 잡기 좋습니다.

댓글남기기