2289 - Par Impar

From Bitnami MediaWiki

Sursa: [1]

Cerința[edit | edit source]

Pentru un număr natural dat n, numim ParImpar următoarea operație:

  • dacă n este par, rezultatul este numărul scris cu cifrele pare ale lui n – de exemplu, pentru 410722 rezultatul este 4022;
  • dacă n este impar, rezultatul este numărul scris cu cifrele impare ale lui n – de exemplu, pentru 357103 rezultatul este 35713.

Se citesc două numere naturale. Să se afișeze numărul pentru care rezultatul operației ParImpar este mai mare.

Date de intrare[edit | edit source]

Programul citește de la tastatură două numere naturale.

Date de ieșire[edit | edit source]

Programul va afișa pe ecran valoarea cerută.

Restricții și precizări[edit | edit source]

  • cele două numere citite vor fi mai mici decât 1.000.000.000
  • dacă pentru cele două numere se obține același rezultat pentru operația ParImpar se va afișa numărul mai mare.

Exemplu:[edit | edit source]

Intrare

410722 357103

Ieșire

357103

Încărcare soluție[edit | edit source]

<syntaxhighlight lang="python" line> n, m = map(int, input().split())

def par_impar(num):

   res = 0
   while num:
       cif = num % 10
       num //= 10
       if cif % 2 == (num % 2):
           res = res * 10 + cif
   return res

if par_impar(n) >= par_impar(m):

   print(n)

else:

   print(m)

</syntaxhighlight>