3350 - Prime 2
Cerinţa
Se dau nr numere naturale. Determinați câte dintre ele sunt 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 numere_prime, reprezentând câte dintre numerele citite sunt 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.
- 2
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.
- 3
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 numarare_prim(numere):
numere_prime = 0 for numar in numere: if verif_prim(numar): numere_prime += 1 print(numere_prime)
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") numarare_prim(numere) else: print("Datele de intrare nu corespund restrictiilor impuse.")
</syntaxhighlight>