3665 - CMMCP

De la Universitas MediaWiki

Sursă: [1]

Cerința

Se dă un număr natural n. Determinaţi cea mai mare cifră pară a sa. Dacă numărul nu are cifre pare se va afişa numărul 10.

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieșire

Dacă datele sunt introduse corect, se va afișa "Datele sunt introduse corect.", apoi se va afișa pe ecran cea mai mare cifră pară a numărului introdus. În caz contrar, se va afișa pe ecran. "Datele nu au fost introduse corect".

Restricții și precizări

  • 0 ⩽ număr1 ⩽ 1.000.000.000.000

Exemplu

Intrare
1440
Ieșire
Cea mai mare cifră pară a numărului este: 4


Rezolvare

#3665

def verificare_restricții(număr):
    #Verifică dacă numărul este între 0 și 1.000.000.000.000

    if număr < 0 or număr > 1000000000000:
        return False
    else:
        return True

def rezolvare_problema(număr):

    maxim = 10 # inițializăm maximul cu 10

    while număr != 0:
        cifră = număr % 10 # extragem ultima cifră
        if cifră % 2 == 0 and cifră > maxim: # dacă este pară și mai mare decât maximul curent
            maxim = cifră # actualizăm maximul
        număr //= 10 # eliminăm ultima cifră

    return maxim
def verificare_restricții(numar):
    # Verifică dacă numărul este între 0 și 1.000.000.000.000
    if numar < 0 or numar > 1000000000000:
        return False
    else:
        return True

def rezolvare_problema(numar):
    maxim = -1 # inițializăm maximul cu -1 pentru a putea verifica dacă am găsit vreo cifră pară
    while numar != 0:
        cifra = numar % 10 # extragem ultima cifră
        if cifra % 2 == 0 and cifra > maxim: # dacă este pară și mai mare decât maximul curent
            maxim = cifra # actualizăm maximul
        numar //= 10 # eliminăm ultima cifră
    if maxim == -1: # dacă nu am găsit vreo cifră pară, setăm maximul la 10
        maxim = 10
    return maxim

if __name__ == "__main__":
    numar = int(input("Introduceți numărul: "))
    if verificare_restricții(numar):
        print("Datele sunt introduse corect.")
        maxim_par = rezolvare_problema(numar)
        print("Cea mai mare cifră pară a numărului este:", maxim_par)
    else:
        print("Datele nu au fost introduse corect.")