0375 - Urmatorul Prim: Difference between revisions
Robert Manc (talk | contribs) No edit summary |
Robert Manc (talk | contribs) 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.