一个数如果恰好等于它的因子之和,这个数就称为完数编程找出1000以内的所有完数,并按下面格式输出其因子

一个数如果恰好等于它的因子之和,这个数就称为完数编程找出1000以内的所有完数,并按下面格式输出其因子。6itsfactorsare1,2,3#include<stdio... 一个数如果恰好等于它的因子之和,这个数就称为完数编程找出1000以内的所有完数,并按下面格式输出其因子。6 its factors are 1,2,3
#include<stdio.h>
#include<math.h>
void main()
{
int x,y,i,sum=0,h;
int a[h];
for(i=1;i<=1000;i++)
{
for(x=1,h=1;x<=i;x++)
{
y=i%x;
if(y==0)
{
a[h]=x;
sum=sum+a[h];
h++;
}
else
continue;
}
if(sum==i)
printf("%d its factors are %d",i,a[h]);
else
printf("%d is not a WS",i);
}
}
}
展开
 我来答
用户阿杰
推荐于2016-12-01
知道答主
回答量:42
采纳率:0%
帮助的人:27.7万
展开全部
#include<stdio.h>
#include<stdlib.h>
void main(){
int x,y,i,sum,h;
int *a;
printf("1000以内的所有完整数:\n");
for(i=1;i<=1000;i++) {
sum = 1;
a = (int *)malloc (i*sizeof(int));
a[0]=1;
for(x=2,h=1;x<i;x++){
y=i%x;
if(y==0){
a[h] = x;
sum+=x;
h++;
}
}
if(sum==i) {
printf("%d its factors are ",i);
for(x=0;x<h-1;x++)
printf("%d,",a[x]);
printf("%d\n",a[x]);
}
free(a);
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式