作业帮 > 数学 > 作业

怎样验证一个较大的数是不是质数呢? 比如991 997是不是质数如何验证? 有个与平房有关的筛法吗?

来源:学生作业帮 编辑:大师作文网作业帮 分类:数学作业 时间:2024/11/11 20:41:49
怎样验证一个较大的数是不是质数呢? 比如991 997是不是质数如何验证? 有个与平房有关的筛法吗?
怎样验证一个较大的数是不是质数呢? 比如991 997是不是质数如何验证? 有个与平房有关的筛法吗?
991 997也算是较大的数吗?
对于算法:大致是没有什么好的算法,
1.验证素数最常用的就是试除法了,就是拿比这个数开平方后的数小的那些数一个一个试除,如果有除了1可以整除的,那它就不是质数.
2.筛法:对于较大的质数一般不用筛法,因为筛法是要将目前找到的 不能被比它小的数整除的 质数分别*1,2,3.也就是把这个数的倍数做上标记,做上标记的就是合数,继续往下查找没做标记的就是质数了...但这样做对于大于10^9的数就要耗费大量空间,所以只是判断质数的话就不要用筛法了.
3.我个人的想法,可以将以上两种方法结合起来,先用筛法筛选出比原数开平方的值小的质数,再用这些质数一个一个试除就可以了,对于较大的数可以节省大量时间...
4.传说还有log(n)的算法,应该是非常高级的算法,表示本人不懂,..
不知道LZ会不会编程,如果不会的话理解起来可能会有些费劲,欢迎追问...