2289 - Par Impar

De la Universitas MediaWiki

Sursa: [1]

Cerința

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

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

Date de ieșire

Programul va afișa pe ecran valoarea cerută.

Restricții și precizări

  • 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:

Intrare

410722 357103

Ieșire

357103

Încărcare soluție

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)