ํ’€์ด


์ฃผ์–ด์ง„ ๊ทœ์น™์— ๋”ฐ๋ผ ์ˆ˜์—ด์„ ๊ตฌํ•˜๋‹ค๋ณด๋ฉด ๋ฐ˜๋ณต๋˜๋Š” ์ˆ˜์—ด์ด ๋‚˜ํƒ€๋‚œ๋‹ค๋Š” ์ ์„ ํ™œ์šฉํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์•ผํ•œ๋‹ค.

๋ฐ˜๋ณต๋˜๋Š” ์ˆ˜์—ด์ด ๋‹ค์‹œ ๋‚˜ํƒ€๋‚œ๋‹ค๋Š” ์ ์€ ์ด๋ฏธ ์ƒ์„ฑ๋œ ์ˆ˜์—ด์— ์ค‘๋ณต๋˜๋Š” ์ˆซ์ž๊ฐ€ ์žˆ๋‹ค๋Š” ์˜๋ฏธ๋‹ค.

๋•Œ๋ฌธ์— ๊ทธ ์ˆซ์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์•ž์„  ์ˆ˜์—ด์„ ์Šฌ๋ผ์ด์‹ฑํ•˜์—ฌ ๊ทธ ๊ธธ์ด๋ฅผ ์ถœ๋ ฅํ•ด์ฃผ๋ฉด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

์†Œ์Šค์ฝ”๋“œ


import sys
 
input = sys.stdin.readline
 
a, p = map(int, input().split())
d = [a]
 
while True:
    temp = sum([int(i)**p for i in str(d[-1])])
    if temp in d:
        print(len(d[:d.index(temp)]))
        break
    else:
        d.append(temp)

References