[求助]1到1000的完数怎么求
#include <iostream>using namespace std;
void main()
{
int i,j,sum=0;
for (i=1;i<=1000;i++)
{
for(j=1;j<=i/2;j++)
{ if(i%j==0)
sum+=j;}
if (i==sum)
cout<<i<<endl;
}
}
我的代码是这个 但是输出的结果什么都没有 不知道错在哪里啊!! 题目是输出1到1000的完数哈!
//P62_4.cpp
//6=1+2+3
#include"iostream"
using namespace std;
int wan(int num)
{
int sum=1,tmp;
for(int i=2;i<num;++i)
if(num%i==0)
sum+=num/i;
if(sum==num)
return 1;
else
return 0;
}
int main()
{
for(int i=6;i<=1000;++i)
if(wan(i))
{
cout<<" "<<i;
}cin.get();
}