Nombres bufons P31333


Statement
 

pdf   zip   main.cc

thehtml

Donat un natural n, sigui p(n) el producte dels dígits de n. En aquest problema, direm que n és un nombre bufó si la seqüència infinita formada per n, p(n), p(p(n)), …no té cap nombre amb dos dígits seguits iguals. Per exemple, 515 és un nombre bufó, perquè ni 515, ni 5 · 1 · 5 = 25, ni 2 · 5 = 10, ni 1 · 0 = 0, ni 0, …, té cap dígit repetit consecutiu. En canvi, 3535 no és bufó, perquè 3 · 5 · 3 · 5 = 225 té dos 2 seguits.

Feu una funció recursiva es_bufo(n) que indiqui si un natural n és bufó o no. Si us convé, podeu implementar funcions auxiliars, recursives o no.

Interfície

C++
bool es_bufo(int n);

Precondició

Es compleix n ≥ 0.

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

Public test cases
  • Input/Output

    es_bufo(515) → 1
    es_bufo(3535) → 0
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++