1410 - Numere 12

From Bitnami MediaWiki

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>