Nombres automorfs U85417


Statement
 

pdf   zip

Un nombre enter positiu nn és automorf si el seu quadrat acaba amb les mateixes xifres que el nombre. Formalment, nn és automorf si n2mod10k=nn^2 \bmod 10^k = n, on kk és el nombre de xifres de nn.

Per exemple, 2525 és automorf perquè 252=62525^2 = 625, que acaba en 25. De la mateixa manera, 762=577676^2 = 5776, que acaba en 76.

Donat un flux d’enters positius acabat en 0, cal mostrar el primer nombre automorf trobat i quants nombres automorfs conté el flux. Si no n’hi ha cap, cal indicar-ho.

IMPORTANT: Cal implementar i usar una funció que, donat un nombre enter positiu, retorni cert si el nombre és automorf i fals en cas contrari.

IMPORTANT: No està permès usar vectors ni taules i els strings. només es poden usar per escriure el missatge de sortida

Entrada

L’entrada conté una seqüència d’enters positius, un per línia, acabada amb el valor 0. Es garanteix que hi ha almenys un valor vàlid abans del sentinella.

Sortida

Si el flux conté algun nombre automorf, cal escriure dues línies: la primera amb el primer nombre automorf trobat, i la segona amb el total de nombres automorfs del flux.

En cas contrari, cal escriure una única línia amb:

Cap nombre automorf

Public test cases
  • Input

    77
    1245
    1
    5
    25
    76
    3
    0
    

    Output

    1
    4
    
  • Input

    2
    7
    13
    44
    123
    1312
    43322
    0
    

    Output

    Cap nombre automorf
    
  • Input

    892
    572
    943
    969
    557
    1199
    375
    12
    376
    99
    23234
    423
    567
    198
    1570
    10000
    0
    

    Output

    376
    1
    
  • Information
    Author
    Bernardino Casas
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++