导读 大家好,我是小曜,我来为大家解答以上问题。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要你自己改了!
本文到此讲解完毕了,希望对大家有帮助。