0306 - Zerouri
Cerinţa
Se dau n numere naturale nenule. Calculaţi numărul de zerouri de la sfârşitul scrierii zecimale a produsului celor n numere.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spaţii.
Date de ieşire
Programul afișează pe ecran numărul ”total_zerouri”, reprezentând valoarea calculată.
Restricții și precizări
- 0 ⩽ n ⩽ 100
- 0 ⩽ numar ⩽ 1.000.000.000
Exemplu
- Intrare
- 5
- 10 24 37 46 75
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 3
Explicație
Produsul celor 5 numere este 30636000, şi se termină cu 3 zerouri.
Rezolvare
<syntaxhighlight lang="python" line> def validare_date_numar(numar):
flag = False if numar.isdigit(): if 0 < int(numar) <= 100: flag = True return flag
def validare_date_numere(n, numere):
flag = False if len(numere) == n and all(num.isdigit() and int(num) > 0 for num in numere): flag = True return flag
def nr_zerouri(numar):
total_zerouri = 0 while numar % 10 == 0: total_zerouri += 1 numar //= 10 return total_zerouri
if __name__ == "__main__":
n = input("Introduceti numarul de numere: ") if validare_date_numar(n): n = int(n) numere = input("Introduceti numerele separate prin spatiu: ").split() if validare_date_numere(n, numere): print("\nDatele de intrare corespund restrictiilor impuse.\n") produs = 1 for num in numere: produs *= int(num) total_zerouri = nr_zerouri(produs) print("Numarul de zerouri de la sfarsitul produsului este:", total_zerouri) else: print("Datele de intrare nu corespund restrictiilor impuse.") else: print("Datele de intrare nu corespund restrictiilor impuse."
</syntaxhighlight>