0307 - Zerouri 1

From Bitnami MediaWiki
Revision as of 18:06, 11 April 2023 by Alexandra Leș (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerinţa

Se dau n numere naturale nenule. Calculaţi ultima cifră nenulă din scrierea zecimală 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 C , 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.
6

Explicație

Produsul celor 5 numere este 30636000, iar ultima cifră nenulă este 6.

Rezolvare

<syntaxhighlight lang="python" line>

  1. Verificarea restricțiilor impuse

def validare_date_numar(numar):

   flag = False
   if numar.isdigit():
       if 0 <= int(numar) <= 1_000_000_000:
           flag = True
   return flag


def validare_date_numere(n):

   flag = False
   if 0 <= int(n) <= 100:
       flag = True
   return flag
  1. Funcție care calculeaza ultima cifră nenulă

def ultima_cifra_nenula(numere):

   produs = 1
   for nr in numere:
       produs *= int(nr)
   # determinăm ultima cifră nenulă
   cifra = 0
   while produs % 10 == 0:
       produs //= 10
   if produs > 0:
       cifra = produs % 10
   return cifra


if __name__ == "__main__":

   n = input( )
   if validare_date_numar(n):
       n = int(n)
       numere = input().split()
       #Verificăm dacă datele introduse corespund cu restricțiile impuse 
       if validare_date_numere(n):
           print("\nDatele sunt introduse corect.\n")
           cifra_ultima_nenula = ultima_cifra_nenula(numere)
           print( cifra_ultima_nenula)
       else:
           print("Datele nu corespund restrictiilor impuse.")
   # Dacă datele nu corespund cu restricțiile impuse, se afișează un mesaj de eroare.
   else:
       print("Datele nu corespund restrictiilor impuse.")

</syntaxhighlight>