Seqüència consecutiva més llarga de nombres creixents T90194


Statement
 

pdf   zip

thehtml

Direm que un nombre natural és creixent (de dreta a esquerra) si, en llegir les seves xifres des de les unitats cap a les desenes, centenes, milers, etc., cada nova xifra que llegim (cap a l’esquerra) és major o igual que l’anterior.

En altres paraules, si el nombre n té les xifres dk dk−1d1 d0, direm que és creixent si: d0d1d2 ≤ … ≤ dk.

Per exemple, són nombres creixents el 64431 i el 3, i no són creixents el 1234 i el 53452.

Escriu un programa que, donat un flux de nombres naturals acabat en 0, faci el següent:

  1. Mostri per pantalla tots els nombres del flux que siguin creixents (un per línia).
  2. Calculi i mostri la longitud de la seqüència consecutiva més llarga de nombres creixents dins del flux.

IMPORTANT!: Per resoldre aquest problema cal que implementis una funció anomenada es_creixent que donat un nombre natural, torna cert si és un nombre creixent i fals en cas contrari.

Observació

No pots usar variables de tipus string, taula ni vector.

Entrada

L’entrada consisteix en un flux de naturals acabat en 0.

Sortida

  • Es mostren, un per línia, tots el nombres del flux que són creixents.
  • A continuació, es mostra la longitud de la seqüència consecutiva més llarga de nombres creixents dins del flux.

El format de sortida ha de coincidir amb el dels jocs de prova.

Public test cases
  • Input

    543210 42 544332211 10 90 9000000 661 0
    

    Output

    543210
    42
    544332211
    10
    90
    9000000
    661
    Longitud consecutiva: 7
    
  • Input

    0
    

    Output

    Longitud consecutiva: 0
    
  • Input

    1 2 3 4 5 6 7 8 9 10 100 201 310 312 9700 9711 9721 9722 9730 9731 9732 9733 9740 9741 9742 9743 0
    

    Output

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    100
    310
    9700
    9711
    9721
    9722
    9730
    9731
    9732
    9733
    9740
    9741
    9742
    9743
    Longitud consecutiva: 12
    
  • Input

    12345 24 1122334455 12 89 88888889 116 0
    

    Output

    Longitud consecutiva: 0
    
  • Information
    Author
    Bernardino Casas
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++