0492 - Numarare3
Sursa: - Numarare3
Cerinţa
Se dă un vector cu n numere naturale. Să se determine câte dintre perechile de elemente egal depărtate de capetele vectorului sunt prime între ele.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi șirul de n numere naturale, separate prin spații.
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 numărul c, reprezentând valoarea cerută. În cazul 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
- 50 18 15 28 35 40
- Ieșire
- Datele sunt introduse corect.
- 2
Exemplul 2
- Intrare
- 5
- 10 2 -3 4 5
- Ieșire
- Datele nu corespund restricțiilor impuse.
Rezolvare
<syntaxhighlight lang="python" line>
- 0492
def cate_perechi_de_el_egal_departate_prime_intre_ele(vector, n):
c = 0 for i in range(n // 2): a, b = vector[i], vector[n-i-1] if b == 0: b = a else: while a % b != 0: r = a % b a = b b = r if b == 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() cate_perechi_de_el_egal_departate_prime_intre_ele(vector, n)
</syntaxhighlight>