题目大意:给你两个数N和C,算出1~N(包括N)之间的素数序列,
若素数个数为奇数,则输出素数序列中心的2*C-1个素数。
若素数个数为偶数,则输出素数序列中心的2*C个素数。
输出个数中说若C>素数个数,则输出整个素数序列。
思路:筛法求素数打表,之后求出素数序列的中心位置,判断奇偶并输出
注意:此题中,1被当做了质数(只限本题),数据规模开成1000是不够
的,需要开成1100,应该是测试数据超范围了。...
分类:
其他好文 时间:
2014-09-19 06:39:25
阅读次数:
205
POJ2739_Sum of Consecutive Prime Numbers【筛法求素数】【枚举】...
分类:
其他好文 时间:
2014-09-18 23:51:14
阅读次数:
237
大神们都在刷usaco,我也来水一水1606: [Usaco2008 Dec]Hay For Sale 购买干草 裸背包1607: [Usaco2008 Dec]Patting Heads 轻拍牛头 神转化,筛法1609: [Usaco2008 Feb]Eating Together麻烦的聚餐 LI...
分类:
其他好文 时间:
2014-09-15 12:55:58
阅读次数:
348
题目大意,给定l和u,求区间[l,u]内的素数中,相邻两个差最大和最小的素数其中 u的范围达到了2e9本质上需要找出n以内的所有素数,使用筛法。先保存50000(大于sqrt(2e9))内的所有素数,然后再去筛出区间[l,u]内的素数(题上给定l-u#include#include using na...
分类:
其他好文 时间:
2014-09-09 21:19:10
阅读次数:
255
弱菜开始学数论了,不定时更新。。。一.素数定理: 素数分布:小于x的素数大约有 x/ln(x)个 推论:如果Pn为第n个素数 那个Pn约等于n*ln(n);二.素数测试 1.sqrt(n)的朴素测试。这个就不多说了,数据范围小的时候比较方便 2.nlogn的筛法void setprime()...
分类:
其他好文 时间:
2014-09-09 11:51:38
阅读次数:
220
埃氏筛法:从2开始,找到第一个没有被筛的数,把它标记为素数,然后把它的2倍、3倍……筛掉。复杂度O(nlogn)。改进的埃氏筛法:从2开始,找到第一个没有被筛的数x,把它标记为素数,然后把它的x倍、x+1倍……筛掉。复杂度O(nloglogn)。线性筛:保证每个数都被它的最小素因子筛掉。复杂度O(n...
分类:
其他好文 时间:
2014-09-08 00:54:46
阅读次数:
296
题目:给你一个数n,找到两个素数使得这两素数的和为n,且插值最大。
分析:数论、贪心。
首先,利用筛法求出前1000000内的素数;
然后,按顺序查询,第一组找到的即为解。
说明:目标前1000
#include
#include
#include
using namespace std;
int visit[1000000] =...
分类:
其他好文 时间:
2014-09-04 11:51:49
阅读次数:
206
本文介绍求出1~n内的所有素数的有效算法——埃拉托色尼筛法(the Sieve of Eratosthenes),估计其算法复杂度,并介绍其改进——线性时间筛法。以下内容谢绝转载。 ...
分类:
其他好文 时间:
2014-08-22 23:45:49
阅读次数:
357
先是想筛法素数表啊,然后1~2000000000枚举打表啊,结果越想越不对。
后来想到唯一分解定理,可是怎么实现呢。。果然还是需要努力啊。。
研究了discuss代码,码之~
~~~~
dp的思想,若dp[i]是Humble Numbers,那么dp[i]*2,dp[i]*3,dp[i]*5,dp[i]*7都将是Humble Numbers。
所以只需要注意连续性便好了。
#inclu...
分类:
其他好文 时间:
2014-08-18 18:32:52
阅读次数:
166
先利用筛法完成素数打表
再从小到大判断即可
#include
#include
#include
#include
#include
#include
using namespace std;
const int Max = 1e6 + 50;
int n;
int isPrime[Max];
int tblPrime[Max];
int lenPrimes;
void initTbl...
分类:
其他好文 时间:
2014-08-16 17:10:30
阅读次数:
129