0375 - Urmatorul Prim: Difference between revisions
Robert Manc (talk | contribs) Pagină nouă: == Cerinţa == Se dă numărul natural '''n'''. Să se determine cel mai mic număr prim, strict mai mare decât '''n'''. == Date de intrare == Programul citește de la tastatură numărul '''n'''. == Date de ieşire == Programul afișează pe ecran numărul cerut. == Restricții și precizări == * '''n ∈ Ν''' * '''1 ⩽ n ⩽ 1.000.000.000''' == Exemplu1 == ; Intrare : 20 ; Ieșire : Datele introduse corespund restricțiilor impuse. : 23 == Exemplu2 == ; Intrare... |
Robert Manc (talk | contribs) No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 12: | Line 12: | ||
: 20 | : 20 | ||
; Ieșire | ; Ieșire | ||
: Datele | : Datele de intrare corespund restricțiilor impuse. | ||
: 23 | : 23 | ||
== Exemplu2 == | == Exemplu2 == | ||
Line 18: | Line 18: | ||
: 112 | : 112 | ||
; Ieșire | ; Ieșire | ||
: Datele | : Datele de intrare corespund restricțiilor impuse. | ||
: 127 | : 127 | ||
== Rezolvare == | == Rezolvare == | ||
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. | |||
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. |
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.