Răspuns :
#include <iostream>
using namespace std;
int n,aux;
int main()
{cin>>n;
int s=0;
aux=n;
for(int d=1;d<=n;d++)
if(n%d==0)s=s+d;
aux=n*2;
if(aux==s)cout<<"n este perfect";
else cout<<"n nu este perfect";}
using namespace std;
int n,aux;
int main()
{cin>>n;
int s=0;
aux=n;
for(int d=1;d<=n;d++)
if(n%d==0)s=s+d;
aux=n*2;
if(aux==s)cout<<"n este perfect";
else cout<<"n nu este perfect";}
Ti-am facut o sursa ib C++ eficienta care sa mearga si pentru n = 1999999999
Succes!
#include <iostream>
using namespace std;
int d, x, s, ct = 0;
int main()
{
cin >> x;
s = 0;
for(d = 1; d * d < x; d ++)
if(x % d == 0)
s = s + d + x / d;
if(d * d == x) s = s + d;
if(s - x == x) cout << x << " este perfect";
else cout << x << " nu este perfect";
return 0;
}
Succes!
#include <iostream>
using namespace std;
int d, x, s, ct = 0;
int main()
{
cin >> x;
s = 0;
for(d = 1; d * d < x; d ++)
if(x % d == 0)
s = s + d + x / d;
if(d * d == x) s = s + d;
if(s - x == x) cout << x << " este perfect";
else cout << x << " nu este perfect";
return 0;
}