0077 - Ultima Cifra Para

De la Universitas MediaWiki
Versiunea pentru tipărire nu mai este suportată și poate avea erori de randare. Vă rugăm să vă actualizați bookmarkurile browserului și să folosiți funcția implicită de tipărire a browserului.

Sursa: [1]

Cerinţa

Să se scrie un program care să determine ultima cifră pară a unui număr natural citit de la tastatură.

Date de intrare

Programul va citi de la tastatură un număr natural.

Date de ieşire

Programul va afişa pe ecran ultima cifră pară a numărului citit.

Restricții și precizări

  • numărul citit va fi mai mic decât 2.000.000.000
  • dacă numărul citit nu conține cifre pare se va afișa valoarea -1

Exemplu

Intrare
1265
Ieșire
6


Rezolvare

Rezolvare ver. 1

def determina_ultima_cifra_para(numar):
    # Inițializăm o variabilă care va reține ultima cifră pară
    ultima_cifra_para = None

    # Parcurgem cifrele numărului de la dreapta la stânga
    while numar > 0:
        cifra = numar % 10
        if cifra % 2 == 0:  # Dacă cifra este pară
            ultima_cifra_para = cifra
            break  # Oprim căutarea, am găsit ultima cifră pară
        numar = numar // 10

    return ultima_cifra_para

def main():
    # Citim numărul de la tastatură
    numar = int(input("Introduceți un număr natural: "))

    # Verificăm dacă numărul este valid
    if numar <= 0:
        print("Numărul introdus nu este valid. Introduceți un număr natural.")
    else:
        # Determinăm ultima cifră pară
        ultima_cifra_para = determina_ultima_cifra_para(numar)

        # Afisăm rezultatul
        if ultima_cifra_para is not None:
            print("Datele sunt introduse corect.")
            print(f"Ultima cifră pară a lui {numar} este {ultima_cifra_para}.")
        else:
            print(f"Lipsește ultima cifră pară a lui {numar}.")

if __name__ == "__main__":
    main()

Rezolvare ver. 2

# Citim numărul de la tastatură
numar = int(input("Introduceți un număr natural: "))

# Verificăm dacă numărul este valid
if numar <= 0:
    print("Numărul introdus nu este valid. Introduceți un număr natural.")
else:
    # Inițializăm o variabilă care va reține ultima cifră pară
    ultima_cifra_para = None

    # Parcurgem cifrele numărului de la dreapta la stânga
    while numar > 0:
        cifra = numar % 10
        if cifra % 2 == 0:  # Dacă cifra este pară
            ultima_cifra_para = cifra
            break  # Oprim căutarea, am găsit ultima cifră pară
        numar = numar // 10

    # Afisăm rezultatul
    if ultima_cifra_para is not None:
        print("Datele sunt introduse corect.")
        print(f"Ultima cifră pară a lui {numar} este {ultima_cifra_para}.")
    else:
        print(f"Lipsește ultima cifră pară a lui {numar}.")