Funció per engreixar nombres X50141


Statement
 

pdf   zip   main.cc

html

En aquest problema, donat qualsevol nombre natural x amb n dígits x1xn, direm que y = y1yn és el resultat d’engreixar x si, per a tot i entre 1 i n, yi = max{x1, …, xi}. 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 < x < 109.

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 Spanish
    Official solutions
    Unknown.
    User solutions
    C++