0411 - Prime intre ele 1: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: == Cerinţa == Se citește 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 : Dat...
 
No edit summary
Line 1: Line 1:
== Cerinţa ==
== Cerinţa ==
Se citește 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.
Se 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 ==
== Date de intrare ==
Programul citește de la tastatură numărul '''n'''.
Programul citește de la tastatură numărul '''n'''.

Revision as of 12:37, 29 March 2023

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>