什么叫素数?素数指的是什么?
质数又称素数,一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。
如果为合数,因为任何一个合数都可以分解为几个素数的积;而N和N+1的最大公约数是1,所以不可能被p1,p2,……,pn整除,所以该合数分解得到的素因数肯定不在假设的素数集合中。
因此无论该数是素数还是合数,都意味着在假设的有限个素数之外还存在着其他素数。所以原先的假设不成立。也就是说,素数有无穷多个。
怎样判断一个数是素数?
根据定义所有素数都是大于1的自然数,那么小于等于1的数都没有素数的概念。数字2只有1和2两个因数,因而必定是素数,其他数字x只要判定从2到x-1都无法被它整除,就证明改数字是素数。
仔细思考就会发现,其实数字x的因数分成两大部分,一部分是小于x的平方根,另外一部分大于x的平方根,小于平方根和大于平方根的部分是一一对应的,因而可以只判断从2到平方根的数字是否都能被整除即可。
根据数论理论可以把数字分成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就可以判定不是素数。
实际上目前数学家发现了很多素数,我们平时需要判定素数时直接使用数学家们发现的素数表查询即可,也就是查表法,图片中的代码只是模拟计算素数表。
最后一种筛选法,就是从2开始可以知道2的所有倍数都是合数,不是2的倍数可能是素数,第一个不是2的倍数的数一定是素数,也就是3,接着将3的倍数全部筛选掉,第一个不是2的倍数也不是3的倍数的数一定是素数也就是5,以此类推,最终筛选出某一范围内的所有素数,接着查表就能得知数字是否是素数
关于我们 广告服务 手机版 投诉文章:435 226 40@qq.com
Copyright (C) 1999-2020 www.baiduer.com.cn 爱好者日报网 版权所有 联系网站:435 226 40@qq.com