C语言中如何求素数
发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,这篇文章主要讲解了"C语言中如何求素数",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C语言中如何求素数"吧!前言素数又称质数。所谓素数是指除了 1 和
千家信息网最后更新 2024年11月22日C语言中如何求素数
这篇文章主要讲解了"C语言中如何求素数",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C语言中如何求素数"吧!
前言
素数又称质数。所谓素数是指除了 1 和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被 2~16 的任一整数整除。
思路1):因此判断一个整数m是否是素数,只需把 m 被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么 m 就是一个素数。
思路2):判断方法还可以简化。m 不必被 2 ~ m-1 之间的每一个整数去除,只需被 2 ~ 之间的每一个整数去除就可以了。如果 m 不能被 2 ~ 间任一整数整除,m 必定是素数。例如判别 17 是是否为素数,只需使 17 被 2~4 之间的每一个整数去除,由于都不能整除,可以判定 17 是素数。
原因:因为如果 m 能被 2 ~ m-1 之间任一整数整除,其二个因子必定有一个小于或等于 ,另一个大于或等于 。例如 16 能被 2、4、8 整除,16=2*8,2 小于 4,8 大于 4,16=4*4,4=√16,因此只需判定在 2~4 之间有无因子即可。
思路1实现:
#includeint main() { int n; printf("请输入一个1-100之间的整数:\n"); scanf("%d", &n); int m = 0; for (int i = 2; i < n; i++ ) { if(n % i == 0) { m++; } } if (m == 0) { printf("%d是素数\n", n); } else { printf("%d不是素数\n", n); } return 0;}
思路2实现:
#include#include int main() { int n; printf("请输入一个1-100之间的整数:\n"); scanf("%d", &n); int i = 0; int q = sqrt(n); for (i = 2; i <= q; i++ ) { if(n % i == 0) { break; } } if (i > q) { printf("%d是素数\n", n); } else { printf("%d不是素数\n", n); } return 0;}
《C与指针》4.14 - 2:
打印1~100之间所有质数:
#includeint main() { int num, divisor; printf("1, 2"); for (num = 3; num <= 100; num += 2) { for(divisor = 3; divisor < num; divisor +=2 ) { if (num % divisor == 0) { break; } } if(divisor >= num) { printf(", %d", num); } } printf("\n"); return 0;}
结果:
1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97
补充:判断素数的4种方法实例
#include#include //方法一:从1-n挨个判断; bool isPrimel_1(int n) { for(int i=2;i 感谢各位的阅读,以上就是"C语言中如何求素数"的内容了,经过本文的学习后,相信大家对C语言中如何求素数这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
素数
整数
之间
方法
思路
语言
只需
因子
奇数
就是
任一
学习
输入
最大
个数
内容
结果
若是
质数
偶数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
北京因特珍网络技术
2020年网络安全所需人才报告
象山手机软件开发服务
服务器连接数不释放
数据库对象放在同一文件中吗
临沂群思网络技术
软件开发员猝死
潍坊博海视讯网络技术有限公司
软件开发折旧采取什么方法
怎么登陆服务器查看上的文件
浙江服务器加工厂云主机云空间
深圳科联网络技术有限公司
一个软件开发正常流程
电脑应用程序用什么软件开发
浙江什么是软件开发行业标准
数据量过大如何导入数据库
手动代理服务器地址
数据库 行号
服务器怎么防止攻击
vfp6.0数据库查询
数据库大字段优化问题
湖南软件开发企业
电视频道下载软件开发
河南网络安全队名
场外交易软件开发
什么叫图书馆软件开发
软件开发的财务风险分析
软件开发有哪些的方式
初中毕业生可以学软件开发吗
服务器群组防护 是什么设备