-
[BOJ 4619, Python 3] 루트알고리즘/BOJ 2021. 9. 3. 16:35
https://www.acmicpc.net/problem/4619
4619번: 루트
입력은 여러 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, B와 N이 주어진다. (1 ≤ B ≤ 1,000,000, 1 ≤ N ≤ 9) 입력의 마지막 줄에는 0이 2개 주어진다.
www.acmicpc.net
풀이
B의 값도 작고, N의 값도 작아서 바로 브루트포스를 생각할 수 있습니다.
계산을 더 빠르게 하기 위하여 N = 1일 때는 B = A가 성립하므로 이 경우를 제외하고, N = 2일 때 B = 1,000,000인 경우는 A = 1,000이므로 N = 2이상부터는 1부터 1,000까지 브루트 포스를 통하여 확인해주시면 됩니다.
코드
123456789while 1:b, n = map(int, input().split())if b == n == 0: breakif n == 1: print(b); continueans = [-1, 1e9]for i in range(1, 1001):if ans[1] > abs(b - i ** n):ans = [i, abs(b - i ** n)]print(ans[0])cs '알고리즘 > BOJ' 카테고리의 다른 글
[BOJ 13334, Python 3] 철로 (0) 2021.09.03 [BOJ 10989, Python 3] 수 정렬하기 3 (0) 2021.09.03 [BOJ 17489, Python 3] 보물 찾기 (0) 2021.09.01 [BOJ 17488, Python 3] 수강 바구니 (0) 2021.09.01 [BOJ 17487, Python 3] 타자 연습 (0) 2021.09.01