Función para engrosar números

En este problema, dado cualquier número natural x con n dígitos
x₁…x_(n), diremos que y = y₁…y_(n) es el resultado de engrosar x si,
para todo i entre 1 y n, y_(i) = max {x₁, …, x_(i)}. Por ejemplo, si
engrosamos 7 obtenemos 7, si engrosamos 32064781 obtenemos 33366788, y
si engrosamos 9000000 obtenemos 9999999.

Escribid una función

        int engrosa(int x);

que devuelva el resultado de engrosar @x@.

No podéis utilizar vectores en vuestro código. Os sugerimos que penseis
una implementación recursiva. Si lo consideráis conveniente, podéis
implementar y usar procedimientos auxiliares.

Vuestro código debe seguir las normas de estilo y contener los
comentarios que consideréis oportunos.

Precondición

Se cumple 0< @x@  < 10⁹.

Observación

Sólo tenéis que enviar el procedimiento requerido; el programa principal
será ignorado.

Información del problema

Autoría: Unknown
Traducción: Maria Serna

Generación: 2026-01-25T16:37:41.161Z

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