0077 - Ultima Cifra Para
Sursa: [1]
Cerinţa[edit | edit source]
Să se scrie un program care să determine ultima cifră pară a unui număr natural citit de la tastatură.
Date de intrare[edit | edit source]
Programul va citi de la tastatură un număr natural.
Date de ieşire[edit | edit source]
Programul va afişa pe ecran ultima cifră pară a numărului citit.
Restricții și precizări[edit | edit source]
- 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[edit | edit source]
- Intrare
- 1265
- Ieșire
- 6
Rezolvare[edit | edit source]
Rezolvare ver. 1[edit | edit source]
<syntaxhighlight lang="python" line>
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()
</syntaxhighlight>
Rezolvare ver. 2[edit | edit source]
<syntaxhighlight lang="python" line>
- 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}.")
</syntaxhighlight>