素数是数论中的一个重要概念,它是大于1的自然数,除了1和自身之外没有别的因数,目前关于素数的研究还是非常丰硕的。本文就简单介绍五种素数判定方法,希望能够满足读者的需求。
工具/原料
Eclipse
JDK开发环境
方法/步骤
1、根据定义所有素数都是大于1的自然数,那么小于等于1的数都没有素数的概念。数字2只有1和2两个因数,因而必定是素数,其他数字x只要判定从2到x-1都无法被它整除,就证明改数字是素数。
2、仔细思考就会发现,其实数字x的因数分成两大部分,一部分是小于x的平方根,另外一部分大于x的平方根,小于平方根和大于平方根的部分是一一对应的,因而可以只判断从2到平方根的数字是否都能被整除即可。
3、根据数论理论可以把数字分成6个大部分,6i,6i+1,6i+2,6i+3,6i+4,瀵鸦铙邮6i+5,也就是说数字x%鲂番黟谊6计算的值一定是0,1,2,3,4,5这6个数字,而6i,6i+2,6i+3,6i+4一定就是合数,它们都有除了1之外的因数,只有6i+1和6i+5可能是素数,因而一旦判定数字大于等于且6取模结果为0,2,3,4就可以判定不是素数。
4、实际上目前数学家发现了很多素数,我们平时需要判定素数时直接使用数学家们发现的素数表查询即可,也就是查表法,图片中的代码只是模拟计算素数表。
5、最后一种筛选法,就是从2开始可以知品疏饯懒道2的所有倍数都是合数,不是2的倍数可能是素数,第一个不是2的倍数的数一定是素数,也就是3,接着将3的倍数全部筛选掉,第一个不是2的倍剞麽苍足数也不是3的倍数的数一定是素数也就是5,以此类推,最终筛选出某一范围内的所有素数,接着查表就能得知数字是否是素数