当前位置:首页 » 《关于电脑》 » 正文

【C语言】求1000以内的“完数”,并打印!超详细!必备技能!一看就会!

14 人参与  2024年11月17日 11:21  分类 : 《关于电脑》  评论

点击全文阅读


完数定义:

一个数恰好等于它的因子之和,这个数就称为“完数”

求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;}//制作不易,希望一键三连,点个关注不迷路!

 四,小结;

以上就是关于完数的求法,具体还需要宝子们去实践,如果觉得该内容对你有用的话,还望点赞支持,有问题的宝子们私聊我,一一解答;


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/187541.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1