大大们,这个咋办啊,急等

一个数如果恰好等于它的因子之和,这个数就被称为“完数”。例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。找出1000之内的所有完数,并输出。


 #include <iostream>
using namespace std;
int main()
{
 int i,j,k,sum;
    cout<<" 1000以内的完数有:";
 for(i=2;i<=1000;i++)
 {
  k=i/2;
  sum=0;
  for(j=1;j<=k;j++)
   if(i%j==0)
    sum=sum+j;
   if(sum==i)
    cout<<"sum="<<sum<<endl;
 }
 return 0;
}

这个简单的。


#include <iostream>
using namespace std;
int main(){
    int i = 0;
    int j = 0;

    int sum = 0;

    for (i = 6; i <= 1000; i++)
    {
        for (j = 1; j < i; j++)
        {
            if (i%j == 0)
                sum += j;
        }
        if (i == sum)
        {
            cout << "%d its fa are " << i;
            for (j = 1; j < i; j++)
            {
                if (i%j == 0)
                {
                    cout << "%d " << j;
                }
            }
            cout << endl;
        }
        sum = 0;
    }
    return 0;
}