Informatică, întrebare adresată de stefan1373as, 8 ani în urmă

Scrie un program C++ care conține un subprogram ce calculează suma primelor n numere naturale:
a) Subprogramul să returneze suma și să aibă un singur parametru;
b) Subprogramul să returneze suma dar să nu aibă parametri;
c) Subprogramul să fie de tip 'void';

Răspunsuri la întrebare

Răspuns de robertanisoiu
1

Răspuns:

#include<iostream>

using namespace std;

// cu parametru

int aduna(int);

int main()

{

   int n, suma;

   cout<<"Dati n: ";

   cin>>n;

   suma = aduna(n);

   cout<<suma<<endl;

   aduna1();

   return 0;

}

int aduna(int x)

{

   int xsuma;

   xsuma = (x*(x+1))/2;

   return xsuma;

}

Explicație:

Subprogramul cu un parametru, tinand cont ca suma primelor n numare naturale este \frac{n*(n+1)}{2}


stefan1373as: Este bun dar nu și eficient ,oricum la o temă nu trebuie asta..mersi
robertanisoiu: De ce spui ca nu e eficient? Cum iti trebuie? Cu un for? Daca spui ca nu e eficient inseamna ca-l poti face mai bine...
stefan1373as: Cu un for cred că poți scurta puțin algoritmul, în fine,lasă așa,important este să meargă :)
robertanisoiu: Pai cum sa scurtam algoritmul? Gandeste-te ca n=1000. Ca sa fac suma trebuie sa fac 1000 de iteratii, deci 1000 de adunari iar aici ai o inmultire si o impartire deci doua operatii. Mai eficient de atat nu se poate.
Alte întrebări interesante