摘要:2016.1.26主体思想与前面两种筛法一致,但一般题目中数据范围比较大(a<b<=10^12),但也有个利于我们的限制条件(b-a<=10^6)那就很简单了,根据我们熟知的理论,b以内的合数的最小质因数不会大于√b,所以我们就可以筛出[1,√b]内的素数并用这些素数去筛除[a,b]的合数。典型例题...
阅读全文
posted @ 2016-01-26 09:13
|
|
随笔分类 - 数学相关 素数筛
摘要:2016.1.26主体思想与前面两种筛法一致,但一般题目中数据范围比较大(a<b<=10^12),但也有个利于我们的限制条件(b-a<=10^6)那就很简单了,根据我们熟知的理论,b以内的合数的最小质因数不会大于√b,所以我们就可以筛出[1,√b]内的素数并用这些素数去筛除[a,b]的合数。典型例题...
阅读全文
posted @ 2016-01-26 09:13
摘要:2016.1.25学习完了伪线性的埃式筛法,我们来学习一个真线性的线性筛法。时间复杂度:O(n)(即每个合数只会被筛一遍)操作:每当我们在外循环(外循环与埃式筛法相同)遇到一个素数时,我们将所有已筛得的素数(包括该素数)分别与该素数的乘积筛去;每当我们遇到一个合数时,则该合数可以表示为A=p1*p2...
阅读全文
posted @ 2016-01-25 22:36
摘要:2016.1.25我们都知道,判断一个数是否为素数可以在O(√n)的时间复杂度内解决。但是如果是要求[1,n]内素数的个数,显然一个一个判断有些慢了。但我们知道一个显而易见的性质:一个合数的所有质因数都小于这个合数,一个质数没有比它小的质因数。那么我们可以利用已求得的质因数,来对比他大的合数进行筛除...
阅读全文
posted @ 2016-01-25 22:21
|
|