1410 - Numere 12

De la Universitas MediaWiki
Versiunea pentru tipărire nu mai este suportată și poate avea erori de randare. Vă rugăm să vă actualizați bookmarkurile browserului și să folosiți funcția implicită de tipărire a browserului.

Sursa: [1]

Cerința

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

Programul citește de la tastatură perechi de numere naturale. Citirea se încheie la introducerea a două valori nule.

Date de ieșire

Programul va afișa pe ecran numărul C, reprezentând valoarea cerută.

Restricții și precizări

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:

Intrare

14 516 14 416 13 13 123 321 156 2651 456 674 0 0 Ieșire

3

Explicație

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

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)