0375 - Urmatorul Prim: Difference between revisions

From Bitnami MediaWiki
No edit summary
No edit summary
 
Line 56: Line 56:


</syntaxhighlight>
</syntaxhighlight>
== Explicație ==
Programul primește un număr întreg de la utilizator. Dacă numărul este valid, programul calculează următorul număr prim după numărul dat.
Programul primește un număr întreg de la utilizator. Dacă numărul este valid, programul calculează următorul număr prim după numărul dat.



Latest revision as of 16:29, 28 April 2023

Cerinţa[edit | edit source]

Se dă numărul natural n. Să se determine cel mai mic număr prim, strict mai mare decât n.

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 numărul cerut.

Restricții și precizări[edit | edit source]

  • n ∈ Ν
  • 1 ⩽ n ⩽ 1.000.000.000

Exemplu1[edit | edit source]

Intrare
20
Ieșire
Datele de intrare corespund restricțiilor impuse.
23

Exemplu2[edit | edit source]

Intrare
112
Ieșire
Datele de intrare corespund restricțiilor impuse.
127

Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line> def validare_date(n):

   flag = False
   if 0 < int(n) < 1_000_000_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 urmatorul_prim(n):

   i = n + 1
   while not verif_prim(i):
       i += 1
   print(i)


if __name__ == '__main__':

   n = int(input())
   if validare_date(n):
       print("\nDatele de intrare corespund restrictiilor impuse.\n")
       urmatorul_prim(n)
   else:
       print("Datele de intrare nu corespund restrictiilor impuse.")

</syntaxhighlight>

Explicație[edit | edit source]

Programul primește un număr întreg de la utilizator. Dacă numărul este valid, programul calculează următorul număr prim după numărul dat.

Funcția verif_prim primește un număr întreg n și returnează True dacă n este prim și False altfel. Verifică dacă n este mai mare sau egal cu 2 și dacă există un divizor între 2 și rădăcina pătrată a lui n.

Funcția urmatorul_prim primește un număr întreg n și găsește următorul număr prim după n. Folosește un buclă while pentru a găsi următorul număr prim începând cu n+1. Când găsește un număr prim, îl afișează și se oprește.