Ce trebuie sa modific la un program pentru care se depaseste limita de timp? (urgent)
rossetta:
despre ce este vorba?
using namespace std;
int main()
{ long long n,d,s=0;
cin>>n;
for(d=1;d<=n/2;d++)
if(n%d==0 && d%2!=0)
s+=d;
cout<<s;
return 0;}
Răspunsuri la întrebare
Răspuns de
2
#include
using namespace std;
int main() {
long long n, d, s = 0;
cin >> n;
for(d = 1; d * d < n; d = d + 2)
if(n % d == 0)
s += d;
if(d * d == n)
s +=d;
cout << s;
return 0;
}
O alta optimare pe care am făcut-o a fost sa merg cu d din 2 in 2
using namespace std;
int main() {
long long n, d, s = 0;
cin >> n;
for(d = 1; d * d < n; d = d + 2)
if(n % d == 0)
s += d;
if(d * d == n)
s +=d;
cout << s;
return 0;
}
O alta optimare pe care am făcut-o a fost sa merg cu d din 2 in 2
using namespace std;
int main()
{
long long n, d, s = 0;
cin >> n;
for(d = 1;d * d < n;d++)
if(n % d == 0) {
if(d % 2 != 0)
s += d;
if(n / d % 2 != 0)
s += n / d;
}
if(d * d == n)
s += d;
cout << s;
return 0;
}
Alte întrebări interesante
Informatică,
8 ani în urmă
Ed. muzicală,
8 ani în urmă
Chimie,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Franceza,
9 ani în urmă