๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€ ๊ธฐ๋ก

์ด์ฝ”ํ…Œ ๊ทธ๋ฆฌ๋”” : 1์ด ๋  ๋•Œ๊นŒ์ง€

by hyeonha 2024. 3. 22.

๋ชฉ์ฐจ

๋ฐฐ์šด์ 

while๋ฌธ์€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋™์•ˆ ๊ณ„์† ์‹คํ–‰๋œ๋‹ค. 

 # 1๋ฒˆ์งธ ๋ฐฉ๋ฒ•
 while n>1:
   if n%k==0:
     count +=1
    n = n //k
   else:
     n -= 1
     count +=1

# 2๋ฒˆ์งธ ๋ฐฉ๋ฒ•
while n>=k:
  while n %k != 0:
    n -=1
    count +=1
  n //=k
  count +=1

# 3๋ฒˆ์งธ ๋ฐฉ๋ฒ•
 while n>1:
   n-=1
   count+=1

 

while True:
  target = (n//k) * k # k๋กœ ๋‚˜๋ˆ„์–ด๋–จ์–ด์ง€๋Š” ์ˆ˜๋ฅผ ๊ตฌํ•ด์คŒ
  result += (n-target) # 1์„ ๋นผ์•ผํ•  ํšŸ์ˆ˜๋ฅผ result์— ๋”ํ•ด์คŒ 
  n = target # target์„ n ๊ฐ’์— ๋„ฃ์–ด์คŒ 
  if n<k:
    break
  result +=1 # n์ด k๋ณด๋‹ค ํฌ๋‹ค๋ฉด ๊ณ„์† ๋‚˜๋ˆ„๋Š” ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•  ๊ฒƒ์ด๋‹ค result์— 1์”ฉ ๋”ํ•ด์ค€๋‹ค.
  n //= k # k๋กœ n์„ ๋‚˜๋ˆ„์–ด์ค€๋‹ค. 

result += (n-1) 

print(result)

 

728x90