0498 - NumararePIE: Difference between revisions
Pagină nouă: Sursa: [https://www.pbinfo.ro/probleme/498/numararepie - NumararePIE] ---- == Cerinţe == Se dă un vector cu '''n''' numere naturale. Să se determine câte dintre perechile de elemente din vector sunt prime între ele. == Date de intrare == Programul citește de la tastatură numărul '''n''', iar apoi '''n''' numere naturale, separate prin spaţii, reprezentând elementele vectorului. == Date de ieșire == Dacă datele sunt introduse corect, pe ecran se va afișa: '''"D... |
|||
Line 21: | Line 21: | ||
; Ieșire | ; Ieșire | ||
: Datele sunt introduse corect. | : Datele sunt introduse corect. | ||
: | : 9 | ||
===Explicație exemplul 1=== | ===Explicație exemplul 1=== | ||
Perechile de elemente prime între ele sunt:<br> | Perechile de elemente prime între ele sunt:<br> |
Revision as of 09:07, 22 April 2023
Sursa: - NumararePIE
Cerinţe
Se dă un vector cu n numere naturale. Să se determine câte dintre perechile de elemente din vector sunt prime între ele.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spaţii, reprezentând elementele vectorului.
Date de ieșire
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele sunt introduse corect.", apoi pe un rând nou afișează pe ecran numărul C, reprezentând valoarea cerută. În caz contrar, se va afișa pe ecran: "Datele nu corespund restricțiilor impuse.".
Restricţii şi precizări
- 1 ⩽ n ⩽ 200
- elementele vectorului vor fi cuprinse între 0 și 1000
Exemple
Exemplul 1
- Intrare
- 6
- 51 18 15 28 77 121
- Ieșire
- Datele sunt introduse corect.
- 9
Explicație exemplul 1
Perechile de elemente prime între ele sunt:
51 28
51 77
51 121
18 77
18 121
15 28
15 77
15 121
28 121
Exemplul 2
- Intrare
- 5
- 10 2 -3 4 5
- Ieșire
- Datele nu corespund restricțiilor impuse.
Rezolvare
<syntaxhighlight lang="python" line>
- 0498
def verificare_prime_intre_ele(nr1, nr2):
while nr2 != 0: a = nr1 % nr2 nr1 = nr2 nr2 = a return nr1
def numarare_perechi_elem_prime_intre_ele(vector, n):
C = 0 for i in range(n): for j in range(i + 1, n): if verificare_prime_intre_ele(vector[i], vector[j]) == 1: C += 1 print(C)
def citire_conform_restrictiilor():
n = int(input()) if n < 1 or n > 200: print("Datele nu corespund restricțiilor impuse.") exit() vector = list(map(int, input().split())) for x in vector: if x < 0 or x > 1000: print("Datele nu corespund restricțiilor impuse.") exit() if n != len(vector): print("Datele nu corespund restricțiilor impuse.") exit() print("Datele sunt introduse corect.") return vector, n
if __name__ == '__main__':
vector, n = citire_conform_restrictiilor() numarare_perechi_elem_prime_intre_ele(vector, n)
</syntaxhighlight>