Funció per engreixar nombres P58819


Statement
 

pdf   zip   main.cc

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@. 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.

Public test cases
  • Input/Output

    engreixa(7) → 7
    engreixa(32064781) → 33366788
    engreixa(9000000) → 9999999
  • Information
    Author
    Jordi Cortadella
    Language
    Catalan
    Other languages
    English
    Official solutions
    C++
    User solutions
    C++