3351 - Prime 3

From Bitnami MediaWiki
Revision as of 15:09, 11 April 2023 by Robert Manc (talk | contribs) (Pagină nouă: == Cerinţa == Se dau '''nr''' numere naturale. Determinați suma celor prime. == Date de intrare == Programul citește de la tastatură numărul '''nr''', iar apoi '''nr''' '''numere''' naturale. == Date de ieşire == Programul va afișa pe ecran numărul '''suma''', reprezentând suma celor prime. == Restricții și precizări == * '''nr ∈ Ν''' * '''1 ⩽ nr ⩽ 1.000''' * cele '''nr''' '''numere''' citite vor fi mai mici decât '''1.000.000.000''' == Exemplu1 =...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerinţa

Se dau nr numere naturale. Determinați suma celor prime.

Date de intrare

Programul citește de la tastatură numărul nr, iar apoi nr numere naturale.

Date de ieşire

Programul va afișa pe ecran numărul suma, reprezentând suma celor prime.

Restricții și precizări

  • nr ∈ Ν
  • 1 ⩽ nr ⩽ 1.000
  • cele nr numere citite vor fi mai mici decât 1.000.000.000

Exemplu1

Intrare
5
11 25 3 4 1
Ieșire
Datele de intrare corespund restricțiilor impuse.
14

Explicație

Dintre cele 5 numere citite sunt prime numerele 11 și 3.

Exemplu2

Intrare
4
3 23 8 7
Ieșire
Datele de intrare corespund restricțiilor impuse.
33

Explicație

Dintre cele 4 numere citite sunt prime numerele 3, 23 și 7.

Rezolvare

<syntaxhighlight lang="python" line> def validare_date(nr, numere):

   flag = False
   if 0 < int(nr) <= 1000:
       flag = all(isinstance(x, int) and 1 <= x <= 1_000_000_000 for x in numere)
   return flag


def verif_prim(n):

   if n <= 1:
       return False
   else:
       for i in range(2, int(n ** 0.5) + 1):
           if n % i == 0:
               return False
       else:
           return True


def suma_celor_prime(numere):

   suma = 0
   for numar in numere:
       if verif_prim(numar):
           suma += numar
   print(suma)


if __name__ == '__main__':

   nr = int(input())
   numere = list(map(int, input().split()))
   if validare_date(nr, numere):
       print("\nDatele de intrare corespund restrictiilor impuse.\n")
       suma_celor_prime(numere)
   else:
       print("Datele de intrare nu corespund restrictiilor impuse.")

</syntaxhighlight>