0464 - Cifre K
Sursa: [1]
Cerinţa[edit | edit source]
Se citește o cifră și apoi se citesc numere până la apariția lui 0. Să se determine de câte ori apare cifra citita în numerele citite pare.
Date de intrare[edit | edit source]
Programul citește de la tastatură cifra, iar apoi numere naturale, până la apariția lui 0.
Date de ieșire[edit | edit source]
Programul afișează pe ecran numărul de apariții ale cifrei citite în numerele citite care erau pare.
Restricţii şi precizări[edit | edit source]
- numerele citite vor fi mai mici decât 1.000.000.000
- ultimul număr citit, 0, nu se ia în considerare
Exemplu[edit | edit source]
- Intrare
- 5 145 52 354 525 0
- Ieșire
- 2
Explicație[edit | edit source]
S-au numărat aparițiile cifrei 5 în numerele 52 și 354.
Rezolvare[edit | edit source]
Rezolvare ver. 1[edit | edit source]
<syntaxhighlight lang="python" line>
def obtine_cifra_valabila():
while True: cifra = input("Introduceti cifra: ") if cifra.isdigit() and 0 <= int(cifra) <= 9: return int(cifra) print("Cifra introdusa nu este valida. Introduceti o cifra intre 0 si 9.")
def numara_aparitii_cifra(cifra):
aparitii = 0 while True: numar = int(input("Introduceti un numar (0 pentru a opri citirea): ")) if numar == 0: break
if numar % 2 == 0: aparitii += str(numar).count(str(cifra))
return aparitii
if __name__ == "__main__":
# Obține cifra validă cifra = obtine_cifra_valabila()
# Numără aparițiile cifrei în numerele pare aparitii = numara_aparitii_cifra(cifra)
# Afisează rezultatul print("Datele sunt introduse corect.") print(f"Cifra {cifra} a aparut de {aparitii} ori in numerele pare citite.")
</syntaxhighlight>
Rezolvare ver. 2[edit | edit source]
<syntaxhighlight lang="python" line>
- citim cifra
while True:
cifra = input("Introduceti cifra: ") if cifra.isdigit() and 0 <= int(cifra) <= 9: break print("Cifra introdusa nu este valida. Introduceti o cifra intre 0 si 9.")
- citim numere pana la intalnirea lui 0
aparitii = 0 while True:
numar = input("Introduceti un numar (0 pentru a opri citirea): ") if numar == "0": break
# verificam daca numarul este par if int(numar) % 2 == 0: # numaram aparitiile cifrei in numarul par aparitii += str(numar).count(cifra)
print("Datele sunt introduse corect.")
- afisam numarul de aparitii
print(f"Cifra {cifra} a aparut de {aparitii} ori in numerele pare citite.")
</syntaxhighlight>