Cerinţa
Se dă un tablou unidimensional cu n
elemente, numere naturale nenule cu cel mult 8
cifre fiecare. Determinaţi câte dintre elementele tabloului se pot scrie ca sumă a altor două elemente aflate pe poziţii distincte din tablou.
Date de intrare
Fişierul de intrare ssume.in
conţine pe prima linie numărul n
; urmează cele n
elemente ale tabloului, dispuse pe mai multe linii şi separate prin spaţii.
Date de ieşire
Fişierul de ieşire ssume.out
va conţine pe prima linie numărul C
, numărul de elemente ale tabloului care se pot scrie ca sumă a altor două elemente aflate pe poziţii distincte din tablou.
Restricţii şi precizări
1 ≤ n ≤ 100
Exemplu
ssume.in
7 1 10 25 6 2 15 3
ssume.out
2
Explicație
25=10+15
, 3=1+2
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema SSume:
#include <iostream>
#include <fstream>
#include <cassert>
using namespace std;
ifstream fin("ssume.in");
ofstream fout("ssume.out");
int n, a[101];
int main(){
fin >> n;
for(int i=1;i<=n;++i)
fin >> a[i];
for(int i=1;i<=n;++i)
for(int j=i+1 ; j<=n ; ++j)
if(a[i]>a[j]){
int aux = a[i];
a[i] = a[j];
a[j] = aux;
}
int c = 0, pp;
for(int i=3 ; i<=n; ++i){
pp = 0;
for(int j=1 ; j<i-1 && !pp ; ++j)
for(int k=j+1 ; k<i && !pp ; ++k)
if(a[i] == a[j] + a[k])
pp =1;
if(pp)
c++;
}
fout << c;
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #271 SSume
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #271 SSume de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!