c语言编程一个范围内的完数-c语言表示一个数的范围
本篇文章给大家分享c语言编程一个范围内的完数,以及c语言表示一个数的范围对应的知识点,希望对各位有所帮助。
文章信息一览:
用C语言编写程序,找出1000以内的完数,所谓完数是指该数的各因子和等于...
我优化一下楼上代码。在第二个for(求因子)可以改成。for(j=1;j=(i/2+1);j++)因其因子不可能大于这个数的一半,为防奇数,所以再加1。这样,这部分能省一半时间。
// 本程序演示一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+编程找出1000以内的所有完数 includestdio.hmain(){ int i,j,s,sum;printf(完数:\n) ;sum=0;for(i=2;i=1000;i++){ s=0; ;//此处s=0一定要加,因为前几次循环的时候s的值已经改变 。
(图片来源网络,侵删)
变量i的for循环里,累加部分错了,n++改为i++ 逻辑错误,将if(s==n)放在累加的循环里是不正确的,也许存在最终的sn的情形,这会导致误判 逻辑错误,这段程序只能输出最小的一个完数。
关于c语言编程一个范围内的完数,以及c语言表示一个数的范围的相关信息分享结束,感谢你的耐心阅读,希望对你有所帮助。
(图片来源网络,侵删)