标题:求助,如何解决这个死循环
取消只看楼主
xiaoxia
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2004-11-7
 问题点数:0 回复次数:0 
求助,如何解决这个死循环

题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程    找出1000以内的所有完数。

我这程序运行时不成功。请各位高手指点,谢谢!

main() { int num=0,i,n,k; for(n=2;n<=1000;n++) {k=n; for(i=1;i<=n;i++) while(n!=i) {if (n%i==0) {num=num+i;n=n/i;} else break;} num=num+n; if (num==k) printf("the number is correct%d",k);

}

搜索更多相关主题的帖子: 如何 编程 number break while 
2004-11-08 19:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-7323-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017406 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved