1000以内完数c语言程序(完数c语言程序)

导读 大家好,我是小曜,我来为大家解答以上问题。1000以内完数c语言程序,完数c语言程序很多人还不知道,现在让我们一起来看看吧!1、/*完数,...

大家好,我是小曜,我来为大家解答以上问题。1000以内完数c语言程序,完数c语言程序很多人还不知道,现在让我们一起来看看吧!

1、/*完数,即完美数,一个数如果恰好抄等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3.(6的因子是1,2,3)*/

2、#include<stdio.h>

3、void main()

4、{

5、 int i,j,k,h,s,sum;

6、 int a[200];//20个是不够的2113

7、 s=0;

8、 sum=0;

9、 for(i=2;i<=1000;i++)

10、 {

11、 s=0;//此处s=0一定要5261加,因为前几次循环的时候s的值已经改变

12、 k=0;

13、 for(j=1;j<i;j++)

14、 {

15、 if((i%j)==0){a[k]=j;k++;}

16、 }

17、 for(h=0;h<k;h++)

18、 {

19、 s+=a[h];

20、 }

21、 if(i==s){printf("%d ",i);sum++;}

22、 }

23、 printf("完数4102的个数:%d ",sum);

24、}

25、时间太紧,没注意程序的简洁性和效率,这个需1653要你自己改了!

本文到此讲解完毕了,希望对大家有帮助。

最新文章