
素数
逐梦起航-带梦飞翔
为了更加长远的快乐!
展开
-
线筛素数进阶法
对于12,在传统线筛素数法中,会被2*6,3*4,两组重复否定为合数。 我们可以规定每次只能让合数的质因数由大到小累计,如12=3*2*2,60=5*3*2*2。 实现时,我们可以开一个v数组,v[x]记录x的最小质因数,x能借助的素数只有prime[1]~prime[k](prime[k]<=v[x])。 在确定了为一方法枚举给个数后,这种方法就是O(N)了。 代码 例题:洛谷3...原创 2018-08-24 08:52:39 · 270 阅读 · 0 评论 -
洛谷1072 Hankson 的趣味题(素数)
题意 求gcd(a0,x)=a1且lcm(b0,x)=b1中x的解的方案数。 题解 这种gcd的问题一般都要拆成质因数来分析。 线筛出1~sqrt(2e9)中的素数,那么所有数的质因数一定在其中出现,不然它本身就是一个素数(这个要特判)。 对于质数p,他们的次数分别为ca0,ca1,cb0,cb1。 分析gcd的特点,因为gcd(a0,x)=a1,所以有min(ca0,x)=ca1。具体情况...原创 2018-10-15 19:28:52 · 273 阅读 · 0 评论