Mostrar els nombres d'Harshad d'un flux en ordre invers V36562


Statement
 

pdf   zip

thehtml

Un nombre enter positiu n es considera un nombre d’Harshad si és divisible per la suma de les seves xifres. Formalment:

n mod S(n) = 0

on S(n) representa la suma de les xifres de n .

Per exemple, 18 és un nombre d’Harshad, ja que 18 és divisible per 9 (1 + 8).

Fes un programa que donat un flux d’enters majors que 0 acabat en 0 mostri:

  • Els nombres d’Harshad del flux en ordre invers.
  • La mida de la subseqüència consecutiva de nombres d’Harshad més gran.

IMPORTANT! Has d’implementar i usar una funció que donat un nombre natural retorni cert si el nombre donat és un nombre d’Harshad i fals en cas contrari.

Entrada

L’entrada consisteix en un flux d’enters majors que 0 acabat en 0.

Sortida

Mostra:

  • Els nombres d’Harshad del flux en ordre invers. Si el flux no té cap nombre d’Harshad s’ha d’escriure "Cap".
  • La mida de la subseqüència consecutiva de nombres d’Harshad més gran.

Per obtenir més detalls sobre la sortida consulta els jocs de proves públics.

Public test cases
  • Input

    30 20 12 40 10 1 1010 51 23 45 26 34 36 141 0
    

    Output

    36 45 1010 1 10 40 12 20 30
    7
    
  • Input

    2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 0
    

    Output

    7 5 3 2
    4
    
  • Input

    7732 4321 99257 2486 1263 90205 5941 8413 52381 6610 137 20201 0
    

    Output

    Cap
    0
    
  • Information
    Author
    Bernardino Casas
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++