[백준/파이썬] 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)만 비교하면 가장 가까운 값을 효율적으로 찾을 수 있습니다.



댓글남기기