Primers perfectes (versió difícil)

L’enunciat d’aquest exercici és idèntic al de l’exercici problem://problemsjutge.org:problems/p1/roura/perfecte.pbm. Però aquí la solució demanada és més eficient en general.

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)), … només conté nombres primers. Per exemple, 977 és un primer perfecte, perquè tant 977, com 9+7+7=239 + 7 + 7 = 23, com 2+3=52 + 3 = 5, com 5, …, són tots nombres primers.

Feu una funció recursiva que indiqui si un natural @n@ és un primer perfecte o no.

Interfície

C++
bool es_primer_perfecte(int n);
C
int es_primer_perfecte(int n);
Java
public static boolean esPrimerPerfecte(int n);
Python
es_primer_perfecte(n)  # returns bool
es_primer_perfecte(n: int) -> bool

Precondició

Es compleix @n@ 0\ge 0.

Observació

Només cal enviar el procediment demanat; el programa principal serà ignorat.

Informació del problema

Autoria: Salvador Roura

Generació: 2026-01-25T11:12:22.816Z

© Jutge.org, 2006–2026.
https://jutge.org