Primer perfecte U77597


Statement
 

pdf   zip

Donat un natural nn, sigui s(n)s(n) la suma dels dígits de nn. En aquest exercici, direm que nn és un primer perfecte si la seqüència infinita formada per nn, s(n)s(n), s(s(n))s(s(n)), \dots només conté nombres primers.

Per exemple, 977 és un primer perfecte, perquè tant 977, com 9 + 7 + 7 = 23, com 2 + 3 = 5, com 5, \dots, són tots nombres primers.

Escriu una funció recursiva anomenada es_primer_perfecte(n), que retorni True si un natural nn és un primer perfecte, False en altre cas.

Teniu exemples en el joc de proves públic.

Entrada

La funció té un nombre natural com a paràmetre.

Observacions

La funció demanada ha de ser recursiva.

Us ajudarà utilitzar la funció solució del problema X98967 (Nombre Primer) que vau fer com a exercici del curs.

Un cop definida la funció, en provar-la al REPL de Python us hauria de sortir el mateix que podeu observar més avall.

Sample session
>>> es_primer_perfecte(977)
True
>>> es_primer_perfecte(978)
False
>>> es_primer_perfecte(0)
False
>>> es_primer_perfecte(11)
True
>>> 
Information
Author
Jordi Delgado (basat en el problema P22467 de Salvador Roura)
Language
Catalan
Official solutions
Python
User solutions
Python