跨境派

跨境派

跨境派,专注跨境行业新闻资讯、跨境电商知识分享!

当前位置:首页 > 卖家故事 > C语言之求1到n个数字之间所有的素数(三种写法)

C语言之求1到n个数字之间所有的素数(三种写法)

时间:2024-04-10 17:55:35 来源:网络cs 作者:焦糖 栏目:卖家故事 阅读:

标签: 写法  数字  语言 
阅读本书更多章节>>>>

 如果不知道如何判断素数,先看这篇文章https://blog.csdn.net/yzb564/article/details/135224854?spm=1001.2014.3001.5501

求1到n个数字之间所有的素数,并全部输出

代码一

#include <stdio.h>//求1到n个数字之间所有的素数int main(void){int n, j, i;scanf_s("%d", &n);for (i = 2; i < n; i++){//判断i是否为素数,是输出,不是不输出for (j = 2; j < i; j++){if (i % j == 0)break;}if (j == i)printf("%d\n",i);}return 0;}

缺点:

         只用main函数实现,有局限性:

                 1.代码的重复利用率不高

                 2.代码不够简单明了,不易理解

代码二

#include <stdio.h>//本函数功能是:判断m是否是素数,是返回true,不是返回falsebool is_prime(int m){int i;for (i = 2; i < m; i++){if (m % i == 0)break;}if (i == m)return true;elsereturn false;}int main(void){int n,i,j;scanf_s("%d", &n);for (i = 2; i <= n; i++){if(is_prime(i))printf("%d\n",i);}return 0;}

优点:比代码一更简洁更容易理解,可重复利用率更高

缺点:可重复利用率还不是非常高

代码三

用两个函数来实现求1到n个数字之间所以的素数,并将其输出

比代码二 代码量更少,可重复利用率更高

#include <stdio.h>//本函数功能是:判断m是否是素数,是返回true,不是返回falsebool is_prime(int m){int i;for (i = 2; i < m; i++){if (m % i == 0)break;}if (i == m)return true;elsereturn false;}//本函数功能是把1到n之间所有的素数在显示器上输出void print_1(int n){int i;for (i = 2; i <= n; i++){if (is_prime(i))printf("%d\n", i);}}int main(void){int n,i;scanf_s("%d", &n);print_1(n);return 0;}

阅读本书更多章节>>>>

本文链接:https://www.kjpai.cn/gushi/2024-04-10/156660.html,文章来源:网络cs,作者:焦糖,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

文章评论