用C语言编程求完数

(注如果一个数恰好等于除它本身之外各因子之和,如6=1+2+3. 则这数就是完数。6就是完数。)

那叫完全数,这题可以用三重循环解决,外环一个一个找数,内环试验是否全部能整除,中环试验加起来是不是那个数,麻烦得很
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-04-14
#include<stdio.h>
void main()
{
int k[10];
int i,j,n,s;
for(j=2;j<=1000;j++)
{
n=-1;
s=j;
for(i=1;i<j;i++)
{
if((j%i)==0)
{
n++;
s=s-i;
k[n]=i;/*将每个因子赋给k0,k1...k9*/
}
}
if(s==0)
{
printf("%d是一个完数,它的因子是:",j);
for(i=0;i<n;i++)
printf("%d,",k[i]);
printf("%d\n",k[n]);
}
}
}
第2个回答  推荐于2017-10-04
/*1-1000之间的完数*/
#include<stdio.h>
#define MAX 1000
void main()
{
int i, Num, j;
for(Num = 1; Num <= MAX; Num++)
{
i=0;
for(j = 1; j < Num; j++)
if ((Num % j) == 0)
i = i + j;
if(Num == i)
printf("%d\n",Num);
}
}本回答被提问者采纳
第3个回答  2019-05-11
/*1-1000之间的完数*/
#include<stdio.h>
#define
MAX
1000
void
main()
{
int
i,
Num,
j;
for(Num
=
1;
Num
<=
MAX;
Num++)
{
i=0;
for(j
=
1;
j
<
Num;
j++)
if
((Num
%
j)
==
0)
i
=
i
+
j;
if(Num
==
i)
printf("%d\n",Num);
}
}
相似回答