Prefijo Mayor

Escribir una función prefijo_mayor(n,cond) donde, dado un entero
positivo distinto de cero n y una función cond (que tiene un dígito como
parámetro y retorna un valor booleano), retorna el prefijo mayor de n
tal que todos sus dígitos hacen que cond retorne True.

Un prefijo de un número es cualquier secuencia de dígitos consecutivos
del mismo número que empieza por el dígito de más peso (por la
izquierda): los números 4, 45, 452, 4523, 45238, 452380 y 4523809 son
todos prefijos del número 4523809.

Ejemplo: Supongamos que n es 824673231 y cond es lambda d: d % 2 == 0
(retorna True si d es par). Entonces prefijo_mayor(824673231,cond) debe
retornar 8246, ya que cualquier otro prefijo mayor debe incluir el 7,
que no es par y cond(7) es False.

Ved los juegos de pruebas públicos para más ejemplos.

Entrada

La función tiene un número entero positivo distinto de cero y una
función (que dado un dígito devuelve un booleano) como parámetros.

Observaciones

Una vez definida la función, al probarla en el REPL de Python debería
salir lo mismo que se puede observar más abajo.

Información del problema

Autoría: Jordi Delgado

Generación: 2026-01-25T13:16:54.171Z

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