0045 - Verif Prim

From Bitnami MediaWiki
Revision as of 10:37, 11 April 2023 by Robert Manc (talk | contribs)

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 de intrare corespund restricțiilor impuse.
DA

Exemplu2

Intrare
14
Ieșire
Datele de intrare 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>