1410 - Numere 12
Sursa: [1]
Cerința[edit | edit source]
Se citesc perechi de numere naturale până la citirea a două valori nule. Să se determine câte dintre perechile X Y au proprietatea că prin concatenarea lui X cu Y sau a lui Y cu X să se obțină un palindrom.
Date de intrare[edit | edit source]
Programul citește de la tastatură perechi de numere naturale. Citirea se încheie la introducerea a două valori nule.
Date de ieșire[edit | edit source]
Programul va afișa pe ecran numărul C, reprezentând valoarea cerută.
Restricții și precizări[edit | edit source]
se vor citi cel mult 40 de perechi de numere; ultima pereche citită nu se va lua în considerare; toate numerele citite vor fi mai mici decât 1.000.000; toate numerele citite sunt nenule, cu excepția ultimelor două; prin concatenarea a două numere înțelegem “lipirea” lor; de exemplu, 12 concatenat cu 5 este 125, iar 5 concatenat cu 12 este 512.
Exemplu:[edit | edit source]
Intrare
14 516 14 416 13 13 123 321 156 2651 456 674 0 0 Ieșire
3
Explicație[edit | edit source]
Perechile care respectă regula sunt:
14 416: 41614 este palindrom; 123 321: 123321 este palindrom; la fel și 321123 este palindrom; 156 2651: 1562651 este palindrom.
Solutie[edit | edit source]
<syntaxhighlight lang="python" line> c = 0 x, y = map(int, input().split()) while x != 0 or y != 0:
xy = str(x) + str(y) yx = str(y) + str(x) if xy == xy[::-1] or yx == yx[::-1]: c = c + 1 x, y = map(int, input().split())
print(c) </syntaxhighlight>