-Code
n = int(input())
sieve = [False, False] + [True] * n
for i in range(2, int(n ** 0.5) + 1):
if sieve[i]:
for j in range(i + i, n + 1, i):
sieve[j] = False
prime = [i for i in range(n + 1) if sieve[i]]
for num in prime:
temp = str(num)
use_num = []
while 1:
total = 0
for i in temp:
total += int(i) ** 2
if total in use_num:
break
if total == 1:
print(num)
break
use_num.append(total)
temp = str(total)
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 2824번 최대공약수 (0) | 2022.05.09 |
---|---|
[백준/파이썬] 1990번 소수인팰린드롬 (0) | 2022.05.09 |
[백준/파이썬] 2168번 타일 위의 대각선 (0) | 2022.05.09 |
[백준/파이썬] 14400번 편의점 2 (0) | 2022.05.09 |
[백준/파이썬] 14247번 나무 자르기 (0) | 2022.05.08 |