1030 - Sume Produse: Difference between revisions
Dragos1234 (talk | contribs) |
Dragos1234 (talk | contribs) |
||
Line 10: | Line 10: | ||
== Restricţii şi precizări == | == Restricţii şi precizări == | ||
* | * 1 ⩽ '''n''' ⩽ 100.000 | ||
* cele '''n''' numere citite vor fi mai mici sau egale cu '''10.000''' | |||
== Exemplul 1 == | == Exemplul 1 == |
Revision as of 19:32, 19 March 2023
Sursa: [1]
Cerinţa
Se dau n numere naturale, unde n este număr natural par. Să se calculeze suma produselor dintre fiecare număr din prima jumătate și fiecare număr din a doua jumătate a șirului de numere date.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații.
Date de ieșire
Programul va afișa pe ecran, mesajul "Datele introduse corespund cerințelor" și pe o linie nouă numărul P , reprezentând produsul primelor n pătrate perfecte nenule, în caz contrar programul va afișa pe o linie noua mesajul "Datele introduse nu corespund cerintelor."
Restricţii şi precizări
- 1 ⩽ n ⩽ 100.000
- cele n numere citite vor fi mai mici sau egale cu 10.000
Exemplul 1
- Intrare
- 4
- Ieșire
- Datele corespund cerințelor.
- 576
Exemplul 2
- Intrare
- 16
- Ieșire
- Datele introduse nu corespund cerințelor.
Exemplul 3
- Intrare
- 7
- Ieșire
- Datele corespund cerințelor.
- 25401600
Rezolvare
<syntaxhighlight lang="python" line>
- 1030
def citeste_numere():
n = int(input("Numar de numere: ")) numere = input("Numere: ").split() return numere
def calculeaza_suma_produse(numere):
suma = 0 # parcurgem toate numerele din prima jumatate a sirului for i in range(len(numere)//2): # parcurgem toate numerele din a doua jumatate a sirului for j in range(len(numere)//2, len(numere)): # calculam produsul dintre cele doua numere curente produs = int(numere[i]) * int(numere[j]) # adaugam produsul la suma totala suma += produs return suma
if __name__ == '__main__':
numere = citeste_numere() suma = calculeaza_suma_produse(numere) print(suma)
</syntaxhighlight>