请教C语言高手:一个数如果恰好等于它的因子之和,这个数就称为“完数”。

编程找出1000之内的所有“完数”,并按下面格式输出其因子:6itsfactorsare1,2,3... 编程找出1000之内的所有“完数”,并按下面格式输出其因子:
6 its factors are 1,2,3
展开
 我来答
天天向上李亚飞
2011-06-24 · 学习——就要天天向上!
天天向上李亚飞
采纳数:540 获赞数:3878

向TA提问 私信TA
展开全部
main()
{ int i,j,n=0,a[100],m=0;

for( i=1;i<=1000;i++ )
{ n=0;
m=0;
for( j=1;j<i;j++ )
if( i%j==0 )
{ a[m++]=j;
n+=j;
}
if( n==i )
{ printf("\n%d its factors are ",i);
for( n=0;n<m-1;n++ )
printf("%4d,",a[n]);
printf("%4d",a[n]);
}
}
printf("\n");
}

结果:

6 its factors are 1, 2, 3
28 its factors are 1, 2, 4, 7, 14
496 its factors are 1, 2, 4, 8, 16, 31, 62, 124, 248
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Sievers分析仪
2024-12-30 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准... 点击进入详情页
本回答由Sievers分析仪提供
认真又清新丶赤子4775
2011-06-26 · TA获得超过298个赞
知道答主
回答量:455
采纳率:0%
帮助的人:291万
展开全部
#include <stdio.h>
#include <conio.h>

void main()
{
int m,i,s;
for(m=1;m<=1000;m++) //从1开始到1000循环结束
{
s=0;//初始化因子之和s为0

for(i=1;i<m;i++) //寻找在1到m之间,有多少m的因子
if(m%i==0) //如果m能整除i,则i为m的因子
s=s+i;//将因子累加

if(s==m) //如果因子之和等于这个数
printf("%d\t",s);//输出
}

getch();
}

运行结果:
6 28 496
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
没有响应m2
2011-06-24 · TA获得超过8387个赞
知道大有可为答主
回答量:7579
采纳率:33%
帮助的人:3510万
展开全部
#include <stdio.h>   int main()   {   int n=1000;   int r,j,i;   for(i=1;i<n; i++){   r = 0;   for(j=1;j<i;j++){   if(i%j == 0){   r = r + j;   }   }   if(r == i){   printf("the result is:%d\n",r);   }   }   return 0;   }
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tidecao2006
2011-06-24 · TA获得超过1229个赞
知道小有建树答主
回答量:842
采纳率:0%
帮助的人:792万
展开全部
#include <stdio.h>
#include <string.h>
#define n 1000

void main()
{
int i, j;
int factor[n];
int factor_num;
int sum;

for (i = 1; i <= 1000; i++)
{
factor_num = 0;
sum = 0;
for (j = 1; j <= i / 2; j++)
if (i % j == 0)
{
factor[factor_num++] = j;
sum += j;
}

if (sum == i)
{
printf("%d its factors are 1", i);
for (j = 1; j < factor_num; j++)
printf(", %d", factor[j]);
printf("\n");
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式