1410 - Numere 12

De la Universitas MediaWiki

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)