Prefix Més Gran W31112


Statement
 

pdf   zip

thehtml

Escriure una funció prefix_mes_gran(n,cond) on donat un enter positiu diferent de zero n i una funció cond (que té un dígit com a paràmetre i retorna un valor booleà), retorna el prefix més gran d’n tal que tots els seus dígits fan que cond retorni True.

Un prefix d’un nombre és qualsevol seqüència de dígits consecutius del mateix nombre que comença pel dígit de més pes (per l’esquerra): els nombres 4, 45, 452, 4523, 45238, 452380 i 4523809 són tots prefixos del nombre 4523809.

Exemple: Suposem que n és 824673231 i cond és lambda d: d % 2 == 0 (retorna True quan d és parell). Aleshores prefix_mes_gran(824673231,cond) ha de retornar 8246, ja que qualsevol altre prefix més gran ha d’incloure el 7, que no és parell i cond(7) és False.

Mireu els jocs de proves públics per a més exemples.

Entrada

La funció té un nombre enter positiu diferent de zero i una funció (que donat un dígit retorna un booleà) com a paràmetres.

Observacions

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
>>> prefix_mes_gran(94720, lambda d: d % 2 == 1)
9
>>> prefix_mes_gran(919321, lambda d: d % 2 == 1)
9193
>>> prefix_mes_gran(2025, lambda d: d % 2 == 1)
0
>>> prefix_mes_gran(2025, lambda d: d < 4)
202
Information
Author
Jordi Delgado
Language
Catalan
Other languages
Spanish
Official solutions
Python
User solutions
Python