Cerinţa
Se citește un număr natural n. Să se determine suma divizorilor impari ai săi.
IAR EU AM SCRIS ASTA :
#include
#include
using namespace std;
int sumimpdiv(int x)
{int d,s=0;
for(d=1;d<=sqrtl(x);d++)
{if(x%d==0&&d%2==1)
s=s+d;
}
for(d=sqrtl(x);d!=x/d;d>=1;d--;)
{if(x%d==0&&d%2==1)
s=s+d;
}
return s;
}
int main()
{int x;
cin>>x;
cout<
return 0;
}
UNDE AM GRESIT ?
Utilizator anonim:
la for nu incepi de la unu,incepi de la 2
Răspunsuri la întrebare
Răspuns de
1
In primul rand (ca o eroare de algoritm), la for nu incepi de la unu,incepi de la 2,pentru ca toate numerele intregi sunt divizibile cu 1.
Erori de sintaxa:
La al doilea for ai pus ";" dupa d--.
Iar la cout ai pus "<" in loc de "<<" .
A si corect este "sqrt" nu "sqrtl".
Erori de sintaxa:
La al doilea for ai pus ";" dupa d--.
Iar la cout ai pus "<" in loc de "<<" .
A si corect este "sqrt" nu "sqrtl".
Alte întrebări interesante
Matematică,
8 ani în urmă
Geografie,
8 ani în urmă
Biologie,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă