0306 - Zerouri
De la Universitas MediaWiki
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
Dacă datele sunt introduse corect,pe ecran se va afișa :"Datele sunt introduse corect.",apoi pe un rând nou numărul NRZ, reprezentând valoarea calculată.În cazul contrar,se va afișa pe ecran "Datele nu corespund restricțiilor impuse.".
Restricții și precizări
- 0 ⩽ n ⩽ 100
- 0 ⩽ n ⩽ 1.000.000.000
Exemplu
- Intrare
- 5
- 10 24 37 46 75
- Ieșire
- Datele sunt introduse corect.
- 3
Explicație
Produsul celor 5 numere este 30636000, şi se termină cu 3 zerouri.
Rezolvare
# Funcție pentru validarea numărului de intrare
def validare_date_numar(numar):
flag = False
if numar.isdigit(): # verifică dacă numărul este un întreg pozitiv
if 0 < int(numar) <= 100: # verifică dacă numărul se află în intervalul specificat
flag = True # dacă toate condițiile sunt îndeplinite, returnează 'True'
return flag
# Funcție pentru validarea listei de numere de intrare
def validare_date_numere(n, numere):
flag = False
if len(numere) == n and all(num.isdigit() and int(num) > 0 for num in numere):
# verifică dacă lista conține exact n numere întregi pozitive
flag = True
return flag
# Funcție pentru calculul numărului de zerouri dintr-un număr dat
def nr_zerouri(numar):
NRZ = 0
while numar % 10 == 0:
NRZ += 1
numar //= 10
return NRZ
if __name__ == "__main__":
n = input() # primește numărul de intrare 'n' de la utilizator
if validare_date_numar(n): # verifică dacă 'n' este valid
n = int(n)
numere = input().split() # primește lista de 'n' numere de la utilizator
if validare_date_numere(n, numere): # verifică dacă lista de numere este validă
print("\nDatele sunt introduse corect.\n")
produs = 1
for num in numere:
produs *= int(num) # calculează produsul numerelor din listă
NRZ = nr_zerouri(produs) # calculează numărul de zerouri din produs
print(NRZ) # afișează numărul de zerouri
else:
print("Datele nu corespund restrictiilor impuse.")
else:
print("Datele nu corespund restrictiilor impuse.")