1030 - Sume Produse

From Bitnami MediaWiki

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>

  1. 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>