0373 - N Prime
Cerinţa[edit | edit source]
Se dă numărul natural n. Să se afișeze primele n numere naturale prime.
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul n.
Date de ieşire[edit | edit source]
Programul afișează pe ecran primele n numere naturale prime, în ordine crescătoare, separate prin exact un spațiu.
Restricții și precizări[edit | edit source]
- n ∈ Ν
- 1 ⩽ n ⩽ 1.000
Exemplu1[edit | edit source]
- Intrare
- 5
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- 2 3 5 7 11
Exemplu2[edit | edit source]
- Intrare
- 8
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- 2 3 5 7 11 13 17 19
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line> def validare_date(n):
flag = False if 0 < int(n) <= 1_000: flag = True 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 nprime(n):
count = 0 # numărul de numere prime găsite num = 2 # numărul curent while count < n: if verif_prim(num): print(num, end=" ") count += 1 num += 1
if __name__ == '__main__':
n = int(input()) if validare_date(n): print("\nDatele de intrare corespund restrictiilor impuse.\n") nprime(n) else: print("Datele de intrare nu corespund restrictiilor impuse.")
</syntaxhighlight>
Explicație[edit | edit source]
Programul verifică dacă un număr dat este prim și apoi afișează primele n numere prime.
Funcția verif_prim primește un număr întreg și verifică dacă acesta este prim sau nu. Funcția utilizează un loop for pentru a itera prin numerele de la 2 la rădăcina pătrată a lui n. Dacă există un divizor între aceste valori, atunci numărul nu este prim și se returnează valoarea False. În caz contrar, se returnează valoarea True.
Funcția nprime primește un număr întreg și afișează primele n numere prime utilizând funcția verif_prim pentru a verifica dacă fiecare număr este prim. Variabila count numără numerele prime găsite, iar variabila num reprezintă numărul curent verificat. Loop-ul se oprește atunci când count devine egal cu n.