Python으로 구현한 2331번 반복수열 문제 풀이입니다.
https://www.acmicpc.net/problem/2331
import sys
a, p = map(int, sys.stdin.readline().split())
data = [a]
while True :
value = 0
for i in str(data[-1]) :
value += int(i) ** p
if value in data :
break
data.append(value)
print(data.index(value))
반복문과 리스트를 이용하여 D[n-1]의 각 자리의 숫자를 p번 곱한 수들의 합을 구한다.
조건문을 통해 D[n]이 리스트에 이미 존재할 경우 반복문을 빠져나온 뒤 그 값이 있는 인덱스를 출력한다.
'백준(Python) 풀이 > 수학' 카테고리의 다른 글
백준(Python) 15964번 이상한 기호 풀이 (0) | 2021.10.19 |
---|---|
백준(Python) 2754번 학점계산 풀이 (0) | 2021.10.19 |
백준(Python) 2592번 대표값 풀이 (0) | 2021.10.18 |
백준(Python) 15740번 A+B - 9 풀이 (0) | 2021.10.18 |
백준(Python) 16430번 제리와 톰 풀이 (0) | 2021.10.18 |