12
Jul.2008
一个数如果恰好等于它的因子之和,这个数就称为完数。例如6的因子为1、2、3,而6=1+2+3,因此6是完数。编程序找出1000之内的所有完数,并按下面格式输出其因子:6,its factors are 1,2,3
#include<iostream>
using namespace std;
int main()
{
int a[500];
for(int i=2;i<=1000;i++) //从1开始判断每个数
{
int m=0,sum=0;
for(int j=1;j<i;j++) //让每个数除以比它小的任意数,来求它的所有因子
{
if((i%j)==0)
{
a[m]=j;
m++;
}
}
for(int n=0;n<m;n++) //求因子和
sum+=a[n];
if(sum==i) //如果等于,输出该数和各因子
{
cout<<i<<" is a perfect number,its factors are ";
for(int count=0;count<m;count++)
cout<<a[count]<<' ';
cout<<endl;
}
}
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int a[500];
for(int i=2;i<=1000;i++) //从1开始判断每个数
{
int m=0,sum=0;
for(int j=1;j<i;j++) //让每个数除以比它小的任意数,来求它的所有因子
{
if((i%j)==0)
{
a[m]=j;
m++;
}
}
for(int n=0;n<m;n++) //求因子和
sum+=a[n];
if(sum==i) //如果等于,输出该数和各因子
{
cout<<i<<" is a perfect number,its factors are ";
for(int count=0;count<m;count++)
cout<<a[count]<<' ';
cout<<endl;
}
}
return 0;
}
作者:菜鸟学编程@Bo-Blog
地址:http://www.node-net.org/read.php?27
版权所有©转载时必须以链接形式注明作者和原始出处及本声明!














输出所有的“水仙花数”,
求一分数序列之和 2/1


