以下代码,在VC6.0下编译测试通过
#include
using namespace std;
bool Check(int i);//是完数返回true,否则返回false
int main()
{
int n=1000;
int r=0,j,i;
//查找1000以内所有完数
for(i=1;i<=n;i++)
{
if (Check(i)==true)
{
cout< }
}
return 0;
}
bool Check(int i)
{
int r=0,j;
for(j=1;j {
if(i%j==0)
{
r=r+j;
}
}
if(r==i)
{
return true;
}
else
{
return false;
}
}