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

Să se scrie o funcție C++ care să determine suma divizorilor unui număr natural transmis ca parametru. Funcția va returna rezultatul.

cand rulez pe pb info imi da eroare de compliare dar pe code blocks rezultatul e ok

Stiu ca mai pot sa pun conditia ca d sa mearga pana la radical din n.
#include
using namespace std;
int n;
int sum_div(int n)
{
int s=0, d;
for(d=2;d<=n/2;d++)
if(n%d==0)
s=s+d;
return s;
}

int main()
{
cout<<"n=";cin>>n;
cout< return 0;
}


GabiAlex99: Scrie functia fara main, iar forul incepe-l de la 1 la n.. for ( d = 2; d <= n; d++)
GabiAlex99: for( d = 1; d <=n; d++) *

Răspunsuri la întrebare

Răspuns de raresgeo9
0

Răspuns:

Nu dai call functiei

Explicație:

Pe prima linie ai doar #include, fara sa incluzi ceva, iar in main nu ai dat call functiei sum_div.

int main()

{

cout << "N:"; cin >> n;

cout << "Suma divizorilor numarului " << n << " este " << sum_div(n);

}

Ai la final si "cout<return 0". Nu mai te deranja sa pui return 0 la final, nu te ajuta. Aici nu ar avea sens nici daca ai fi pus separatorul corect dupa cout (ai un singur <), sterge linia complet.


GabiAlex99: El face problema pe pbinfo, nu mai trebuie sa scrie main-ul. +de asta, el calculeaza doar suma divizorii PROPRII
Alte întrebări interesante