Informatică, întrebare adresată de danamocanu71, 9 ani în urmă

Se dau n numere naturale, unde n este numar natural par. Sa se calculeze suma produselor dintre fiecare numar din prima jumatate si fiecare numar din a doua jumatate a sirului de numere date.


rossetta: Problema se poate rezolva fara vectori :
Luam exemplul:
4
2 3 4 5
Problema ne cere sa calculam : 2 * 4 + 2 * 5 + 3 * 4 + 3 * 5. Vedem ca putem sa rescriem : (2 + 3) * (4 + 5) = 5 * 9 = 45.
#include <iostream>
using namespace std;

int main() {
long long n, a, i, s1 = 0, s2 = 0;
cin >> n;
for ( i = 0; i < n / 2 ; i++) {
cin >> a;
s1 = s1 + a;
}
for ( i = 0; i < n / 2 ; i++) {
cin >> a;
s2 = s2 + a;
}
cout << s1 * s2;

return 0;
}
rossetta: Am folosit long long deoarece stiu problema.
-> 1 ≤ n ≤ 100000
-> cele n numere citite vor fi mai mici sau egale cu 10000
JolieJulie: Dupa cum ai văzut,sunt vreo 4 variante aici pe pagina ...oricum,problema are mai multe variante de rezolvare...contează ca sunt corecte...
rossetta: Am vazut. Am vrut sa ajut si eu cu o varianta pe care nu au scris-o altii. Este o problema ca am postat?
Utilizator anonim: nimeni nu a zis ca e o problema :)

Răspunsuri la întrebare

Răspuns de Utilizator anonim
2
#include <iostream>
using namespace std;
int main()
{
    int n, a[100], p1=1, p2=1;
    cin >> n;
    for (int i=0; i<n; i++) cin >> a[i];
    for (int i=0; i<n/2; i++) p1*=a[i];
    for (int i=n/2; i<n; i++) p2*=a[i];
    cout << p1+p2;
    return 0;
}

NuPotSaStiuTot: suma produselor este numai 1 numar
Utilizator anonim: "Sa se calculeze suma produselor dintre fiecare numar din prima jumatate si fiecare numar din a doua jumatate"
Utilizator anonim: eu am inteles ca ar fi doua.. adica produsul primelor n/2 numere si produsul celorlalte numere
JolieJulie: se cere apoi si suma lor...
JolieJulie: adica suma pproduselor
Utilizator anonim: aa, am inteles, scuza-ma
JolieJulie: trebui doar un s=p1+p2...numic mai mult...
NuPotSaStiuTot: vez sus
Răspuns de JolieJulie
2
#include <iostream>
using namespace std;
int main()
{
int n,v[100],i,s=0,p1=1,p2=1;
  cout<<"numarul numerelor:";cin>>n;
  for(i=1;i<=n;i++)
  {  cout<<"v["<<i<<"]=";cin>>v[i];
  }
  for(i=1;i<=n/2;i++)
   p1=p1*v[i];
  for(i=n/2+1;i<=n;i++)
     p2=p2*v[i];
  s=p1+p2;
  cout<<"suma-->"<<s;

}



NuPotSaStiuTot: prefer: {
int n;
int a[9999];
cin >> n;
float s=0;
for (int i=0;i<n;i++)
cin >> a[i];
for (int i=0;i<n/2;i++)
s = s + a[i] * a[i + n/2];
cout << s;
return 0;
}
NuPotSaStiuTot: întrebarea este foarte ambiguă
Alte întrebări interesante