0077 - Ultima Cifra Para: Difference between revisions
Tag: Manual revert |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
Sursa: [https://www.pbinfo.ro/probleme/77/ultimacifrapara] | |||
== Cerinţa == | == Cerinţa == | ||
Să se scrie un program care să determine ultima cifră pară a unui număr natural citit de la tastatură. | Să se scrie un program care să determine ultima cifră pară a unui număr natural citit de la tastatură. | ||
Line 16: | Line 17: | ||
== Rezolvare == | == Rezolvare == | ||
=== Rezolvare ver. 1 === | |||
<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 === | |||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> | ||
# Citim numărul de la tastatură | # Citim numărul de la tastatură | ||
numar = input("Introduceți un număr natural: ") | numar = int(input("Introduceți un număr natural: ")) | ||
# Verificăm dacă numărul este valid | # Verificăm dacă numărul este valid | ||
if | if numar <= 0: | ||
print("Numărul introdus nu este valid. Introduceți un număr natural.") | print("Numărul introdus nu este valid. Introduceți un număr natural.") | ||
else: | else: | ||
Line 30: | Line 73: | ||
# Parcurgem cifrele numărului de la dreapta la stânga | # Parcurgem cifrele numărului de la dreapta la stânga | ||
while numar > 0: | |||
cifra = | cifra = numar % 10 | ||
if cifra % 2 == 0: # Dacă cifra este pară | if cifra % 2 == 0: # Dacă cifra este pară | ||
ultima_cifra_para = cifra | ultima_cifra_para = cifra | ||
break # Oprim căutarea, am găsit ultima cifră pară | break # Oprim căutarea, am găsit ultima cifră pară | ||
numar = numar // 10 | |||
# Afisăm rezultatul | # Afisăm rezultatul | ||
Line 42: | Line 86: | ||
else: | else: | ||
print(f"Lipsește ultima cifră pară a lui {numar}.") | print(f"Lipsește ultima cifră pară a lui {numar}.") | ||
</syntaxhighlight> | </syntaxhighlight> |
Latest revision as of 09:25, 15 May 2023
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>