양의 정수 n의 각 자리 숫자를 제곱해서 모두 더한다. 그렇게 나온 합에도 같은 계산을 다시 한다. 이 과정을 반복하다가 1이 나오면 n을 행복수라고 한다.
700은 행복수이다.
- 72+02+02=49
- 42+92=97
- 92+72=130
- 12+32+02=10
- 12+02=1
2는 행복수가 아니다.
- 22=4
- 42=16
- 12+62=37
- 32+72=58
- 52+82=89
- 82+92=145
- 12+42+52=42
- 42+22=20
- 22+02=4
- 42=16
- 계산이 끝나지 않는다.
소수는 1과 자기 자신 말고는 약수가 없는 수이다. 2, 3, 5, 7, 11, 13, 17, 19, ...가 소수이다.
행복한 소수는 소수이면서 행복수인 수이다. 7, 13, 19, ...가 행복한 소수이다.
n이 주어지면 n보다 작거나 같은 행복한 소수를 모두 구하는 프로그램을 작성하시오.