0060 - Prime intre ele

From Bitnami MediaWiki

Cerinţa[edit | edit source]

Să se scrie un program care să verifică dacă două numere naturale citite de la tastatură sunt prime între ele.

Date de intrare[edit | edit source]

Programul citește de la tastatură două numere naturale numar1 și numar2.

Date de ieşire[edit | edit source]

Programul afișează pe ecran mesajul PIE, dacă numar1 și numar2 sunt prime între ele, respectiv NOPIE în caz contrar.

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

  • numar1, numar2 ∈ Ν
  • 0 ⩽ numar1, numar2 ⩽ 1.000.000.000
  • două numere naturale sunt prime între ele dacă cel mai mare divizor comun al lor este 1

Exemplu1[edit | edit source]

Intrare
24 36
Ieșire
Datele de intrare corespund restricțiilor impuse.
NOPIE

Exemplu2[edit | edit source]

Intrare
24 35
Ieșire
Datele de intrare corespund restricțiilor impuse.
PIE

Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line> import math


def validare_date(numar1, numar2):

   flag = False
   if numar1.isdigit() and numar2.isdigit():
       if 0 < int(numar1) < 1_000_000_000 and 0 < int(numar2) < 1_000_000_000:
           flag = True
   return flag


if __name__ == '__main__':

   numar1, numar2 = input().split()
   if validare_date(numar1, numar2):
       print("\nDatele de intrare corespund restricțiilor impuse.\n")
       cmmd = math.gcd(int(numar1), int(numar2))   #În Python, putem folosi funcția math.gcd() pentru a calcula cel mai mare divizor comun între două numere.
       if cmmd == 1:
           print("PIE")
       else:
           print("NOPIE")
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")

</syntaxhighlight>

Explicație[edit | edit source]

Acest cod verifică dacă două numere date ca input respectă restricțiile impuse și calculează cel mai mare divizor comun dintre ele folosind funcția math.gcd() din Python. Dacă cel mai mare divizor comun este 1, atunci se afișează mesajul "PIE", altfel se afișează mesajul "NOPIE".