Cerința
Se citește n număr natural. Calculați suma tuturor numerelor naturale mai mici sau egale cu n.
Date de intrare
Programul citește de la tastatură numărul n, număr natural.
Date de ieșire
Programul va afișa pe ecran numărul S, reprezentând suma numerelor mai mici sau egale cu n.
Restricții și precizări
n ≤ 1.000.000
Răspunsuri la întrebare
Răspuns de
1
Solutia se bazeaza pe Suma lui Gauss :
1 + 2 + 3 + 4 +.......+ n = n * (n + 1) / 2
Daca nu iti este clara demonstratia pentru Suma lui Gauss, iti pot arata si demonstratia.
Am folosit long long pentru suma deoarece, pentru anumite teste, o sa depaseasca limita maxima a int.
Am folosit long long si pentru n (chiar daca pare inutil ....aici este mai greu de inteles....) deoarece in momentul in care se calculeaza n * (n + 1), se depaseste limita int si rezultatul (gresit) este stocat in variabila s.
#include <iostream>
using namespace std;
int main() {
long long n , s =0;
cin >>n;
s = n * (n +1)/2;
cout << s;
return 0;
}
1 + 2 + 3 + 4 +.......+ n = n * (n + 1) / 2
Daca nu iti este clara demonstratia pentru Suma lui Gauss, iti pot arata si demonstratia.
Am folosit long long pentru suma deoarece, pentru anumite teste, o sa depaseasca limita maxima a int.
Am folosit long long si pentru n (chiar daca pare inutil ....aici este mai greu de inteles....) deoarece in momentul in care se calculeaza n * (n + 1), se depaseste limita int si rezultatul (gresit) este stocat in variabila s.
#include <iostream>
using namespace std;
int main() {
long long n , s =0;
cin >>n;
s = n * (n +1)/2;
cout << s;
return 0;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă