快速判断一个数是不是素数(质数)
朴素的方法:判断从2到sqrt(n)是否有数可以与其整除。(课本都有)
下面介绍一个更快的方法:
质数有一个分布规律——大于等于5的质数一定和6的倍数相邻。栗子:5和7,11和13。
由此进行剪枝,达到优化的效果。
Code
#include<iostream>
#include<cmath>
using namespace std;
int prime(int num) //判断素数
{if (num == 1)return 0;if (num == 2 || num == 3)return 1;if (num % 6 != 1 && num % 6 != 5)return 0;int tmp = sqrt(num);for (int i = 5; i <= tmp; i += 6)if (num % i == 0 || num % (i + 2) == 0)return 0;return 1;
}
int main()
{int n;cin >> n;if (prime(n)) cout << "这个数是素数" << endl;else cout << "这个数不是素数" << endl;
}
快速判断一个数是不是素数(质数)相关推荐
- 快速判断一个数是否为质数
质数(素数): 在大于1的自然数中,除了1和它本身以外不再有其他因数的数. 合数: 自然数中除了能被1和本身整除外,还能被其他数(0除外)整除的数,与质数相对. 如何判断一个数是否为质数 方法一: 从 ...
- C语言判断一个数是否是质数(蒙格马利快速幂算法)
前言: 今天搞了一天这个 蒙格马利 什么的,我自己肯定是搞不定,参照了很多资料,写一下自己的理解总结,防止忘了没地方看. 只是我个人的理解,对不对还得另说,一些公式还是不懂,只是大概的理解了下,各位当 ...
- 如何快速判断一个数是否是素数
素数除了2,一定是质数,(2,3,5,7,11....) 如果想判断一个数是否素数,可以反过来思考,什么的质数是合数 规律:当一个素数加上这个素数*2的数一定是合数(n是素数,n+(n*2)*m ...
- c语言判断一个数是不是质数的n次方,c语言实践 判断一个数是不是素数
int main() { int input = 0; scanf_s("%d",&input); if (input < 2) { printf("wro ...
- 判断一个数是否是质数(素数)
质数(prime number)又称素数,有无限个. 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数. // 封装一个函数,实现判断一个数是否是质数的功能function isZS(m ...
- C语言试题六十九之请编写函数判断一个数是不是素数
1. 题目 编写函数:判断一个数是不是素数 素数:素数又称质数.所谓素数是指除了 1 和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被 2~16 的任一整数整除. 2 .温馨提示 ...
- 用户输入的数是否为合数php,php怎么判断一个数是不是素数?
质数又称素数.一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数:否则称为合数.(注:1不是素数.)那么php怎么判断一个数是不是素数?下面本篇文章就来给大家介绍一下. 下面我们就 ...
- php判断无理数,如何快速判断一个数的开方是不是无理数?
引言: 学习完了统计之后,我们开始学习了实数,和我们之前学到了一些有理数,以及对无理数的一些认识进行了简单的回顾后,我们又对实数进行了深一步的探索,并掌握了一种新的运算是乘方的逆运算--开方 最初接触 ...
- 判断一个数是否为质数的三种方法
转载自:https://blog.csdn.net/m0_37586991/article/details/79673837?depth_1-utm_source=distribute.pc_rele ...
最新文章
- linux中去掉^M的方法
- 根号分治 ---- D. Mr. Kitayuta‘s Colorful Graph(根号均摊复杂度 + 数据结构维护)
- 考虑使用静态工厂方法替代构造方法
- Docker教程-简介
- 修改telnet提示并非_俊翔:修改ECU数据解除奔驰GL350尿素限制
- 瀑布流 jquery。
- 移动硬盘无法在Mac上装载如何修复?
- HTML视频打赏系统源码,「亲测」新版付费打赏视频源码/vip影视系统运营版 带采集+分销+会员中心...
- android启动第三方浏览器问题
- 面向对象 重写和重载
- 聚焦基因组学研究,JMP参加第七届国际统计遗传学与基因组学高峰论坛
- 计算机2.0培训心得,信息技术2.0心得体会
- idea提交项目出现push rejected
- [Ynoi2014]不归之人与望眼欲穿的人们
- 方正飞鸿中间件大赛落幕 大学生项目获收购
- 每日新闻简报 每天三分钟,知晓天下事 一句话新闻早餐
- QT绘制多边形-----五边形
- php文字加边框,图片加特效文字 图片添加各种边框的文字效果 如果有多种边框模板就更好了...
- 吴恩达创办Coursera是受他启发!74岁老父亲自述终身学习路,8年学完146门课程
- 原生js监听滚动条_原生JS实现滚动条监听
热门文章
- 货物与产品的区别_商品与产品的区别
- N-丁基吡啶溴BPyBr离子液体|溴化1-辛基-3-甲基咪唑离子液体[C8mim]Br
- 计算S=1+22+333+4444····+n,当S超过1000时n最小值和S的值
- 坦克世界服务器停机维护提前结束,《坦克世界》2月25日服务器停机维护公告
- 酷派小q服务器无响应怎么回事,永劫无间服务器炸了怎么回事?无法连接游戏服务器维护公告...
- CSS特效十:信息提示框
- 互联网泡沫爆发 | 历史上的今天
- 网站策划,网站建设的重中之重
- LOL 9.20版本更新
- CSDN学习路线的业务问题的浅析和思考,如何突出亮点,打造核心拳头产品以及核心竞争力