今天发现了一个更快的素筛,比以前会的素筛速度快了整整一倍,虽然大部分题目不会对时间要求那么严格,但是会一个更快的算法还是很棒的。 以前用的素筛: 更快的素筛: ...
分类:
其他好文 时间:
2016-09-11 22:40:16
阅读次数:
163
素数筛选
首先 N^2 被 N!整除
也就是 N 被 (N - 1)! 整除
随意基本上 只要 N不是素数 就可以有除了 N 和 1以外的约束,
所以只要 是素数就是 NO
此外 对于 4 由于 只有 1 2 4所以页数不满足 N 被 (N - 1)!整除, 所以4特殊处理 NO //还好谨慎,顺便打了个表, 不然4的特殊处理可能要WA了以后再发现
0! 是 1 所以 N == 1也满足 1^1 被 1整除 YES
复杂度 O(sqrt(n))
比赛的时候代码是队友实现的, 所以向...
分类:
Web程序 时间:
2016-08-09 13:44:18
阅读次数:
192
题目1040:Prime Number 时间限制:1 秒 内存限制:32 兆 特殊判题:否 题目描述: Output the k-th prime number. 输入: k≤10000 输出: The k-th prime number. 样例输入: 3 7 样例输出: 5 17解题思路:素数筛选 ...
分类:
其他好文 时间:
2016-08-05 15:43:14
阅读次数:
129
Sieve of Eratosthenes (素数筛选算法) Given a number n, print all primes smaller than or equal to n. It is also given that n is a small number. For example, ...
分类:
编程语言 时间:
2016-07-06 00:06:40
阅读次数:
308
http://lightoj.com/volume_showproblem.php?problem=1341 题目大意: 给你矩形的面积(矩形的边长都是正整数),让你求最小的边大于等于b的矩形的个数。 什么叫唯一分解定理:算术基本定理可表述为:任何一个大于1的自然数 N,如果N不为质数,那么N可以唯 ...
分类:
其他好文 时间:
2016-05-25 22:10:54
阅读次数:
162
题意:输入一个数判断是不是素数,并规定2不是素数。 析:一看就很简单吧,用素数筛选法,注意的是结束条件是n<0,一开始被坑了。。。 不说了,直接上代码: ...
分类:
其他好文 时间:
2016-05-22 22:55:59
阅读次数:
272
问题链接:HDU1319
这是一个比较简单的问题。其关键是需要读懂题意,使用素数筛选法打表,然后进行输出即可。
需要注意的点如下:
1.题目中所说的素数并不是真正的素数,包括1;
2.需要读懂题意,对于输入的n和c,如果1到n之间有偶数个素数则打印2c个数,奇数个素数则打印2c-1个数;
3.打印的数是所有素数中位于中间位置的那些数。
事先还是要做一点功课的,计算一下1到1000之间有...
分类:
其他好文 时间:
2016-05-13 00:28:57
阅读次数:
190
1 const int N=1e6+11; 2 int p[N],pr[N],cnt; 3 void init() 4 { 5 for(int i=2;i<N;i++) 6 { 7 if(!p[i]) pr[++cnt]=i; 8 for(int j=1;j<=cnt&&i*pr[j]<N;j++) ...
分类:
其他好文 时间:
2016-04-16 12:33:23
阅读次数:
162
筛选法(埃拉托色尼(Eratosthenes)筛法)求素数,例如1~100 思想:逐个筛选,直到int(sqrt(100))个 1)因为1不是质数,将1筛去 2)2是质数,将2的倍数全都挖掉 3)3是质数,将3的倍数全都挖掉 4)4已经被挖去,不进行与4相关的操作 5)5是质数,将5的倍数全都挖掉 ...
分类:
其他好文 时间:
2016-03-28 23:26:56
阅读次数:
185
水题 有t组数据 每组数据有a b 两个数 求a b之间有多少个素数 打表筛选即可 思路:先打一个素数表 找到第一个大于a的素数的倍数j 从j开始筛 筛到b为止 用flag标记 然后筛第二个素数 一直筛到sqrt(b)为止 剩下的就都是素数了 水题
分类:
其他好文 时间:
2016-03-19 21:24:16
阅读次数:
468