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
求大神解答
展开
 我来答
紫薇参星
科技发烧友

2017-10-14 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3609万
展开全部

按照你的要求编写的求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
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式