Cum pot face acest cod mai eficient?????
#include
using namespace std;
int main()
{
int n,S=0,d;
cin >> n;
for (d=1; d<=n/2; d++)
{
if (n%d==0&&d%2!=0)
{
S+=d;
}
}
cout << S;
}
Acest cod e pentru următoarea problemă de pe pbinfo: Se citește un număr natural n. Să se determine suma divizorilor impari ai săi. Primesc doar 60 de puncte fiindcă acest cod merge lent dacă este introdusă o valoare mare(500000000).Vă rog să mă ajutați!
Răspunsuri la întrebare
Răspuns de
0
http://imgur.com/a/iqZ8J
Alte întrebări interesante
Matematică,
8 ani în urmă
Ed. tehnologică,
8 ani în urmă
Geografie,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
using namespace std;
int main()
{
int n,i,S=0;
cout<<"n="; cin>>n;
for (i=1;i<=n;i++)
if (i%2==1 && n%i==0)
S=S+i;
cout<<"S="<<S;
return 0;
}