【5IC-3】求1000之内的完全数

作者:神奇的周 | 创建时间: 2023-06-09
如题:求1000之内的完全数。 Ÿ说明:完全数就是:除了它本身以外所有因子之和等于其本身,例如:6=1+2+3。...
【5IC-3】求1000之内的完全数

一、答案:

代码如下: #include<iostream.h> int main() { int i,j,n,p[1000],S; for(n=1;n<=1000;n++){ for(i=1,j=0;i<n;i++)if(n%i==0){ p[j]=i; j++; } S=0; for(i=0;i<j;i++)S=S+p[i]; if(S==n)cout<<n<<endl; } return 0; }

运行结果:

二、说明:

这题应用穷举法,从1-1000中找: for(n=1;n<=1000;n++)

首先需要找到任意一个数的因数,并将它保存起来: for(i=1,j=0;i<n;i++)if(n%i==0){ p[j]=i; j++; }

最后判断因数之和是否等于本身,是则输出: S=0; for(i=0;i<j;i++)S=S+p[i]; if(S==n)cout<<n<<endl;

点击展开全文

更多推荐