一个数如果恰好等于它的因子之和,这个数就被称为“完数”。例如,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;
}