一个数如果恰好等于它的因子之和,这个数就称为“完数”。编写一程序找出1000以内的所有完数

无法运行!#include"stdio.h"main(){inti,m,sum=0;for(i=2;i<1000;i++){for(m=1;m<i;m++){if(i%m... 无法运行!
#include"stdio.h"
main(){
int i,m,sum=0;
for(i=2;i<1000;i++){
for(m=1;m<i;m++){
if(i%m==0){
sum=sum+m;
if(sum==i){
printf("%d 是完数",i);}
if(sum!=i)
break;}}}
return 0;}
展开
 我来答
小夏聊生活
高能答主

2019-12-11 · 专注于分享生活知识,热爱生活
小夏聊生活
采纳数:447 获赞数:114612

向TA提问 私信TA
展开全部

源代码如下:

#include <stdio.h>

main()

{

int i,j;

int sum;

for(i=1;i<=1000;i++)

{

sum=0;

 for(j=1;j<i;j++)

 {

if(i%j==0)

sum+=j;

}

 if(sum==i)

 {

printf("%d its factors are ",i);

for(j=1;j<i;j++)

 if(i%j==0)

printf("%d ",j);

 }

 printf("\n");

}

扩展资料

1、完全数是一些特殊的自然数,它所有的真因子即除了自身以外的约数的和即因子函数,恰好等于它本身。

2、第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6。第二个完全数是28。

3、有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4 + 7 + 14=28。后面的数是496、8128。

dldove
推荐于2017-12-15 · TA获得超过166个赞
知道答主
回答量:39
采纳率:0%
帮助的人:34.6万
展开全部
您这循环体里面明显写错了,另外因为你是return 0;所以主函数要加int,还有你的程序可读性太差,像我和楼上的仁兄一样就容易读多了~希望对你有帮助
int main(){
int i,m,sum=0;
for(i=2;i<1000;i++){
for(m=1;m<i;m++){
if(i%m==0) sum=sum+m;
}
if(sum==i) printf("%d 是完数",i);
sum=0; //sum清零
}
return 0;
}
另外题目也有问题,一个数的因子包含了这个数本身,所以我只能认为是除这个数本身的因数和了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
松甜恬0Je4ba
2011-11-29 · TA获得超过2.6万个赞
知道大有可为答主
回答量:7475
采纳率:100%
帮助的人:3433万
展开全部
#include"stdio.h"
main(){
int i,m,sum=0;
for(i=2;i<1000;i++){
sum=0;
for(m=1;m<i;m++){
if(i%m==0){
sum=sum+m;
}
}
if(sum==i){
printf("%d 是完数",i);}
}
return 0;}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式