0045 - Verif Prim
Cerinţa
Să se scrie un program care citește de la tastatură un număr natural n și verifică dacă este prim.
Date de intrare
Programul citește de la tastatură numărul n.
Date de ieşire
Programul afișează pe ecran mesajul DA, dacă n este număr prim, respectiv NU în caz contrar.
Restricții și precizări
- n ∈ Ν
- 1 ⩽ n ⩽ 1.000.000.000
- un număr natural este prim dacă are exact doi divizori distincți: 1 și el însuși.
Exemplu1
- Intrare
- 17
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- DA
Exemplu2
- Intrare
- 14
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- NU
Rezolvare
<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:
print("NU")
else:
# Verificăm dacă există un divizor între 2 și rădăcina pătrată a lui n
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
print("NU")
break
else:
print("DA")
if __name__ == '__main__':
n = int(input())
if validare_date(n):
print("\nDatele de intrare corespund restrictiilor impuse.\n")
verif_prim(n)
else:
print("Datele de intrare nu corespund restrictiilor impuse.")
</syntaxhighlight>