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

例如6=1+2+3.编程找出1000以内的所有完数有谁可以用c语言把这段程序写出来吗?加注释的哦!... 例如6=1+2+3.编程找出1000以内的所有完数
有谁可以用c语言把这段程序写出来吗?
加注释的哦!
展开
 我来答
匿名用户
推荐于2017-09-07
展开全部
#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
风梳烟沐的海角
2021-03-06
知道答主
回答量:9
采纳率:0%
帮助的人:4170
展开全部

先看运行截图:

把逗号改成加号即可

#include <stdio.h>
int isws(int a);
main(){
int i=2,count,s=0;
for(;i<1000;i++){
count = isws(i);
if(count){
int a = 1;
s = 0;
printf("%d its factors are ",i);
for(a;a<=i/2;a++){
if(i%a==0){
printf("%d",a);
s++;
if(s < count) printf(","); //用来判断后面是否还有因子,没有因子就换行
else printf("\n");
}
}
}
}
return 0;
}

int isws(int a){ //判断是否是完数,如果是返回因子的个数
int i=2,sum=1,count=1;
for(i;i<=a/2;i++){
if(a%i==0) {
sum+=i;
count++;
}
}
if(sum == a) return count;
else return 0;
}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a6ba253
2022-09-13
知道答主
回答量:13
采纳率:0%
帮助的人:5152
展开全部

#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

 171   


已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夕谧绍望舒
2019-12-10 · TA获得超过3708个赞
知道大有可为答主
回答量:3140
采纳率:32%
帮助的人:194万
展开全部
#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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
西域牛仔王4672747
2018-08-02 · 知道合伙人教育行家
西域牛仔王4672747
知道合伙人教育行家
采纳数:30554 获赞数:146206
毕业于河南师范大学计算数学专业,学士学位, 初、高中任教26年,发表论文8篇。

向TA提问 私信TA
展开全部
一个数如果恰好等于它的因子之和,这个数就称为完全数,
如 6,28,496 等。无穷多个 。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式