【C语言】求1000以内的“完数”,并打印!超详细!必备技能!一看就会!
时间:2024-04-22 18:20:27 来源:网络cs 作者:胡椒 栏目:物流仓储 阅读:
完数定义:
一个数恰好等于它的因子之和,这个数就称为“完数”
求1000以内的完数;
总代码 (未修饰):
#include <stdio.h>int main(){int i = 0;for (i = 2; i <= 1000; i++){int sum = 0;int j = 0;for (j = 1; j < i; j++){if (i % j == 0)sum += j;}if (sum == i){printf("%d\n", i);int k = 0;for (k = 1; k < i; k++){if (i % k == 0){printf("%d\n", k);}}}}return 0;}//制作不易,希望一键三连,点个关注不迷路!
以上分为二个部分
一,输出完数;
二,输出完数的因子;
三,稍加修饰;
一,输出完数:
代码:
#include <stdio.h>int main(){int i = 0;for (i = 2; i <= 1000; i++){int sum = 0;int j = 0;for (j = 1; j < i; j++){if (i % j == 0)sum += j;}if (sum == i){printf("%d\n", i);}}return 0;}//制作不易,希望一键三连,点个关注不迷路!
运行结果:
那100以内就成功了,不过叫简略,后续在修饰;
二,输出完数的因子;
代码:
int k = 0;for (k = 1; k < i; k++){if (i % k == 0){printf("%d\n", k);}}//制作不易,希望一键三连,点个关注不迷路!
i 就为选出的完数,关键是这一部分放在哪,有的宝子也写出来了,但位置放错了,导致错误,正确位置:
放在if()语句里面,因为if()语句中刚打印出完数i,故顺便求其因子,加完之后看结果:
运行结果
这个结果基本就结束了,但是还可以更加有观赏性;
三,稍加修饰;
可以加几句(自由发挥)让代码有观赏性,使结果为:
添加部分:
在if()语句里加两句printf()语句;
总代码(修饰后):
#include <stdio.h>int main(){int i = 0;for (i = 2; i <= 1000; i++){int sum = 0;int j = 0;for (j = 1; j < i; j++){if (i % j == 0)sum += j;}if (sum == i){printf("1000以内%d是完数\n", i); //新加的代码int k = 0;printf("它的因子为\n"); //新加的代码for (k = 1; k < i; k++){ if (i % k == 0){ printf("%d\n", k);}}}}return 0;}//制作不易,希望一键三连,点个关注不迷路!
四,小结;
以上就是关于完数的求法,具体还需要宝子们去实践,如果觉得该内容对你有用的话,还望点赞支持,有问题的宝子们私聊我,一一解答;
本文链接:https://www.kjpai.cn/news/2024-04-22/161314.html,文章来源:网络cs,作者:胡椒,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
下一篇:返回列表