Informatică, întrebare adresată de edward12, 9 ani în urmă

Algoritm c++
Am nevoie de un algoritm rapid care verifica daca un numar este perfect sau nu .
Atentie ! numar perfect, NU patrat perfect .
Pe acesta l-am facut eu, dar merge incet :

#include
using namespace std;
int n,i,s;
int main()
{
cin>>n;
s=0;
for(i=1;i<=n/2;i++)
{
if(n%i==0)
{
s=s+i;
}
}
if(s==n)
{
cout<<"perfect"         }
else
{
cout<<"nu e perfect"         }
return 0;
}

Răspunsuri la întrebare

Răspuns de stef90
2
e facut optim, nu cred ca il mai poti optimiza. Mult succes!

Emil1234: Ai putea totusi sa ii mai faci ceva: II dai lui s valoarea 1 ( s=1; in loc de s=0; ) si apoi incepi cu for(i=2;i<=n/2;i++) in loc de for(i=1;i<=n/2;i++) :D
edward12: l-am facut pana la urma , multumesc
Alte întrebări interesante