0411 - Prime intre ele 1

From Bitnami MediaWiki
Revision as of 12:37, 29 March 2023 by Robert Manc (talk | contribs)

Cerinţa

Se dă un număr natural n, n>1. Să se determine câte perechi (a,b), 1 ≤ a ≤ b ≤ n de numere naturale sunt prime între ele.

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieşire

Programul afișează pe ecran numărul numar_perechi, reprezentând valoarea dorită.

Restricții și precizări

  • n ∈ Ν
  • 1 < n ⩽ 1.000

Exemplu1

Intrare
6
Ieșire
Datele introduse corespund restricțiilor impuse.
12

Explicație

Perechile sunt: (1 1) (1 2) (1 3) (1 4) (1 5) ( 1 6) (2 3) (2 5) (3 4) (3 5) (4 5) (5 6) .

Exemplu2

Intrare
4
Ieșire
Datele introduse corespund restricțiilor impuse.
6

Explicație

Perechile sunt: (1 1) (1 2) (1 3) (1 4) (2 3) (3 4) .

Rezolvare

<syntaxhighlight lang="python" line> import math


def validare_date(numar):

   flag = False
   if numar.isdigit():
       if 0 < int(numar) < 1_000:
           flag = True
   return flag


def numar_perechi_prime(numar):

   numar_perechi = 0
   for a in range(1, numar+1):
       for b in range(a, numar+1):
           if math.gcd(a, b) == 1:  #verifică dacă numerele a și b sunt prime între ele
               numar_perechi += 1
   print(numar_perechi)


if __name__ == '__main__':

   numar = input()
   if validare_date(numar):
       print("\nDatele de intrare corespund restricțiilor impuse.\n")
       numar_perechi_prime(int(numar))
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")

</syntaxhighlight>