16_找出1-1000之间的完数
通过课程进入 题 号: 20 16_找出1-1000之间的完数 语言要求: C++
一个数如果恰好等于它的因子之和,就被成为完数。
例如6的因子为1,2,3,而6=1+2+3,所以6是一个完数。
编程找出1-1000之间的所有完数,并按照从小到大的顺序输出,输出的每个数都必须以回车结尾。
C代码:
#include<stdio.h>
int main()
{
int i,j;
for(i=1;i<=1000;i++)
{
int sum=0;
for(j=1;j<i;j++)
{
if(i%j==0)
sum+=j;
}
if(sum==i)
printf("%d\n",i);
}
return 0;
}
C++代码:
#include<iostream>
using namespace std;
int main()
{
int i,j,k,sum=1;
for(i=2;i<=1000;i++)
{
for(sum=1,j=2;j<i;j++)
{
if(i%j==0)
{
sum+=j;
}
}
if(sum==i)
cout<<sum<<endl;
}
return 0;
}
测试结果: