3350 - Prime 2: Difference between revisions
Robert Manc (talk | contribs) Pagină nouă: == 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 mic... |
Robert Manc (talk | contribs) No edit summary |
||
Line 65: | Line 65: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Explicație == | |||
Acest cod are ca scop să primească o listă de numere și să numere câte dintre ele sunt numere prime. Funcția '''validare_date(nr, numere)''' verifică dacă numărul de numere și dacă fiecare dintre acestea corespund restricțiilor impuse. Dacă acesta este cazul, funcția '''numarare_prim(numere)''' verifică fiecare număr din listă și, dacă este prim, incrementează variabila '''numere_prime'''. La final, este afișat numărul de numere prime din listă. |
Latest revision as of 16:31, 28 April 2023
Cerinţa[edit | edit source]
Se dau nr numere naturale. Determinați câte dintre ele sunt prime.
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul nr, iar apoi nr numere naturale.
Date de ieşire[edit | edit source]
Programul va afișa pe ecran numărul numere_prime, reprezentând câte dintre numerele citite sunt prime.
Restricții și precizări[edit | edit source]
- nr ∈ Ν
- 1 ⩽ nr ⩽ 1.000
- cele nr numere citite vor fi mai mici decât 1.000.000.000
Exemplu1[edit | edit source]
- Intrare
- 5
- 11 25 3 4 1
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- 2
Explicație[edit | edit source]
Dintre cele 5 numere citite sunt prime numerele 11 și 3.
Exemplu2[edit | edit source]
- Intrare
- 4
- 3 23 8 7
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- 3
Explicație[edit | edit source]
Dintre cele 4 numere citite sunt prime numerele 3, 23 și 7.
Rezolvare[edit | edit source]
<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>
Explicație[edit | edit source]
Acest cod are ca scop să primească o listă de numere și să numere câte dintre ele sunt numere prime. Funcția validare_date(nr, numere) verifică dacă numărul de numere și dacă fiecare dintre acestea corespund restricțiilor impuse. Dacă acesta este cazul, funcția numarare_prim(numere) verifică fiecare număr din listă și, dacă este prim, incrementează variabila numere_prime. La final, este afișat numărul de numere prime din listă.