1030 - Sume Produse: Diferență între versiuni

De la Universitas MediaWiki
Linia 10: Linia 10:


== Restricţii şi precizări ==
== Restricţii şi precizări ==
* 0 < '''n''' ⩽ 10
* 1 ⩽ '''n''' ⩽ 100.000
* cele '''n''' numere citite vor fi mai mici sau egale cu '''10.000'''


== Exemplul 1 ==
== Exemplul 1 ==

Versiunea de la data 19 martie 2023 19:32

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

#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)