Funció per engreixar nombres

En aquest problema, donat qualsevol nombre natural xx amb nn dígits x1xnx_1 \dots x_n, direm que y=y1yny = y_1 \dots y_n és el resultat d’engreixar xx si, per a tot ii entre 1 i nn, yi=max{x1,,xi}y_i = \max\{x_1, \dots, x_i\}. Per exemple, si engreixem 7 obtenim 7, si engreixem 32064781 obtenim 33366788, i si engreixem 9000000 obtenim 9999999.

Escriviu una funció

    int engreixa(int x);

que retorni el resultat d’engreixar @x@.

No podeu fer servir vectors al vostre codi. Us suggerim que penseu una implementació recursiva. Si us cal, podeu implementar i usar procediments auxiliars.

Precondició

Es compleix 0<0 < @x@ <109< 10^9.

Observació

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

Informació del problema

Autoria: Jordi Cortadella

Generació: 2026-01-25T16:37:49.185Z

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