👤

Se citeste n numar natural. Calculati suma tuturor numerelor naturale mai mici sau egale cu n.

Răspuns :

problema e foarte simpla,in comparatie cu cealalta..:))

sunt 2 moduri de rezolvare,cu while si cu for:
cu WHILE:
#include <iostream>
using namespace std;
int main()
{  int n,suma=0;
  cout<<"nr=";cin>>n;
  while(n)
  {  suma=suma+n;
  n--;
  }
  cout<<"suma:"<<suma;
}

cu FOR:
#include <iostream>
using namespace std;
int main()
{  int n,suma=0,i;
  cout<<"nr=";cin>>n;
  for(i=1;i<=n;i++)
    suma=suma+i;
  cout<<"suma:"<<suma;
}



O sa iti prezint o varianta de rezolvare care se bazeaza pe Suma Gauss. Suma de la 1 la n = n * ( n + 1 ) / 2.
 Nu ai precizat nimic despre valoarea maxima a lui n. Daca n este destul de mare, aceasta suma o sa depaseasca valoarea maxima a int.


#include <iostream>
using namespace std;
int main() {
  int n; 
  cin >> n;
  cout << n * (n + 1) / 2;
  return 0;
}