快速判断一个数是否为质数
来源:互联网 发布:淘宝价格区间设置不了 编辑:程序博客网 时间:2024/05/17 06:23
质数(素数): 在大于1的自然数中,除了1和它本身以外不再有其他因数的数。
合数: 自然数中除了能被1和本身整除外,还能被其他数(0除外)整除的数,与质数相对。
如何判断一个数是否为质数
方法一:
- 从 2~(n-1)进行遍历,判断能不能整除,从而判断是不是质数。该方法在数据量比较大的时候,效率比较低。
方法二:(2步)
- 判断能否被2整除,如果能,说明这个数不是质数。如果不能,说明这个数也不能被(2,4,6,…2*i)整除,所以下一步只需要对3~(n-1)之间的奇数进行判断即可。
- 只需要遍历 3~Math.sqrt(value)这个范围的数即可。原因分析如下:任何一个合数都可以分解为几个质数的乘积;所以肯定会有质因数<=Math.sqrt(value);所以只需遍历3~Math.sqrt(value)这个范围的数,有能整除的则不是质数,没有则是质数。
代码如下 IsPrime(int val)函数所示:
//快速判断一个数是不是质数:(总共2步) //1、判断能否被2整除 //2、遍历 3~Math.sqrt(value)这个范围 public static boolean IsPrime(int val){ boolean flag = true; if((val & 1) == 0){ flag = false; return flag; } for(int i=3; i<= Math.sqrt(val); i+=2){ if(val%i == 0){ flag = false; break; } } return flag; }
参 考
http://blog.csdn.net/chaoojie/article/details/7710988
0 0
- 快速判断一个数是否为质数
- 判断一个数是否为质数
- 判断一个数是否为质数
- 判断一个数是否为质数
- 判断一个数是否为质数
- 判断一个数是否为质数
- 判断一个数是否为质数
- 判断一个数是否为质数
- 判断一个数是否为质数
- 判断一个数是否为质数
- 如何判断一个数是否为质数&得到质数序列
- java判断一个数是否为质数的方法
- 2013.12.26 泡面吧--判断一个数是否为质数
- 第二周作业 判断一个数是否为质数
- php判断一个数是否为质数(素数)
- c语言判断一个数是否为质数
- 用JAVA判断一个数是否为素数(质数)
- java小算法—判断一个数是否为质数
- hdu 4281 mtsp(多重旅行商问题)
- Android 进程基础知识
- android 5.0的新控件 RecycleView
- git配置使用
- 搜索专题 ps批量操作
- 快速判断一个数是否为质数
- angular2学习笔记(6)
- HDU 1789 Doing Homework again(贪心)
- 属性动画 向右消失 向左出来
- skynet 控制台管理使用技巧
- Confluence安装
- 二叉树的路径和
- Hibernate框架学习(三) 关系映射
- HttpClient与HttpURLConnection分析