0077 - Ultima Cifra Para

De la Universitas MediaWiki

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}.")