728x90
문제
어떤수 N이 1이 될 때까지 다음의 두 과정 중 하나를 반복적으로 선택하여 수행하려고한다. 단, 두번째 연산은 N이 K로 나누어떨어질 때만 선택할 수 있다.
1. N에서 1을 뺀다.
2. N을 K로 나눈다.
예를 들어 N = 17, K = 4일 경우
1) 17 - 1 = 16
2) 16 // 4 = 4
3) 4 // 4 = 1
전체 과정을 실행한 횟수는 3이 된다. 이는 N을 1로 만드는 최소 횟수이다.
문제풀이
N,K=map(int,input().split())
count=0
while(1):
if N%K==0:
N=N//K
count+=1
else:
N-=1
count+=1
if N==1:
break
print(count)
728x90