0373 - N Prime: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: == Cerinţa == Se dă numărul natural '''n'''. Să se afișeze primele '''n''' numere naturale prime. == Date de intrare == Programul citește de la tastatură numărul '''n'''. == Date de ieşire == 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 == * '''n ∈ Ν''' * '''1 ⩽ n ⩽ 1.000''' == Exemplu1 == ; Intrare : 5 ; Ieșire : Datele introduse corespund...
 
No edit summary
 
(One intermediate revision by the same user not shown)
Line 12: Line 12:
: 5
: 5
; Ieșire
; Ieșire
: Datele introduse corespund restricțiilor impuse.
: Datele de intrare corespund restricțiilor impuse.
: 2 3 5 7 11
: 2 3 5 7 11
== Exemplu2 ==
== Exemplu2 ==
Line 18: Line 18:
: 8
: 8
; Ieșire
; Ieșire
: Datele introduse corespund restricțiilor impuse.
: Datele de intrare corespund restricțiilor impuse.
: 2 3 5 7 11 13 17 19  
: 2 3 5 7 11 13 17 19  
== Rezolvare ==
== Rezolvare ==
Line 59: Line 59:


</syntaxhighlight>
</syntaxhighlight>
== Explicație ==
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'''.

Latest revision as of 16:24, 28 April 2023

Cerinţa[edit]

Se dă numărul natural n. Să se afișeze primele n numere naturale prime.

Date de intrare[edit]

Programul citește de la tastatură numărul n.

Date de ieşire[edit]

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]

  • n ∈ Ν
  • 1 ⩽ n ⩽ 1.000

Exemplu1[edit]

Intrare
5
Ieșire
Datele de intrare corespund restricțiilor impuse.
2 3 5 7 11

Exemplu2[edit]

Intrare
8
Ieșire
Datele de intrare corespund restricțiilor impuse.
2 3 5 7 11 13 17 19

Rezolvare[edit]

<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]

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.