C语言:一个数如果恰好等于它的因子之和,这个数就称为"完数"。请编写C程序,找出1000之内的所有完数。
一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。请编写程序,找出1000之内的所有完数。每行按格式输...
一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。请编写程序,找出1000之内的所有完数。
每行按格式输出其因子:6=1+2+3
6=1+2+3
28=1+2+4+7+14
496=1+2+4+8+16+31+62+124+248
求大神解答 展开
每行按格式输出其因子:6=1+2+3
6=1+2+3
28=1+2+4+7+14
496=1+2+4+8+16+31+62+124+248
求大神解答 展开
1个回答
展开全部
按照你的要求编写的求1000以内完数的C语言程序如下
#include<stdio.h>
int a[32],count=0;
int factorSum(int x)
{
int i,sum=0;
count=0;
for(i=1;i<x;i++)
if(x%i==0){
a[count]=i;
sum+=i;
count++;
}
return sum;
}
int main()
{
int i,j;
for(i=1;i<=1000;i++)
if(i==factorSum(i))
{
printf("%d=",i);
for(j=0;j<count;j++){
if(j==count-1)
printf("%d",a[j]);
else
printf("%d+",a[j]);
}
printf("\n");
}
return 0;
}
运行结果
6=1+2+3
28=1+2+4+7+14
496=1+2+4+8+16+31+62+124+248
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询