[백준/파이썬] 4619번 루트 풀이
업데이트:
문제 정보
- 문제 출처: 백준 온라인 저지
- 문제 링크: 4619번 루트
- 문제풀이 코드 GitHub 링크
- 제출 언어: Python 3
풀이
문제
a^n이 b에 가장 가까워지도록 하는 정수 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)만 비교하면
가장 가까운 값을 효율적으로 찾을 수 있습니다.
댓글남기기