-
[이코테 # Greedy4] 1이 될 때까지카테고리 없음 2023. 6. 5. 22:21
* 1이 될 때까지
입력된 수 N이 1일 될 때까지 두 가지 연산 중 하나를 선택하는 과정을 반복한다.
1. N에서 1을 뺀다.
2. N을 K로 나눈다.(단, N이 K로 나누어떨어질 때만 선택할 수 있다.)
1번 혹은 2번 과정을 수행하는 최소 횟수를 구하는 프로그램을 작성하시오.
* 순환으로 작성해봄. def nkproblem(n, k): global count if n % k == 0 and n != 1: count += 1 nkproblem(n // k, k) elif n % k != 0 and n != 1: count += 1 nkproblem(n - 1, k) else: print(count) n, k = map(int, input().split()) count = 0 nkproblem(n, k)
n, k = map(int, input().split()) count = 0 while n != 1: if n % k == 0: n = n // k else: n = n - 1 count += 1 print(count)