POJ 3518 Prime Gap(素数)
http://poj.org/problem?id=3518
题意:
给你一个数,如果该数是素数就输出0. 否则输出比这个数大的素数与比这个数小的素数的差值。
分析:
明显本题先要用筛选法求出130W(严格的话应该是求第100001个素数)以内的所有素数。
然后判断给的数是否是素数即可。
如果不是素数,那么就找出它在素数素组内的上界和下界,输出两个素数的差值即可。
筛选法求素数可见:
...
分类:
其他好文 时间:
2014-11-16 13:25:36
阅读次数:
299
这本身没什么,代码一堆发来纪念下而已本来刚学习java,编写输出100以内的素数对于我这个有代码运行性能洁癖的人(但是本身又不懂算法)来说,不能忍于是看了些资料参考:http://blog.csdn.net/program_think/article/details/7032600自己山寨一个(注意...
分类:
编程语言 时间:
2014-11-16 12:04:55
阅读次数:
197
#include#include#include#include#include#include#include#include#include#include#define N 1000000bool p[N];int n,Max;void prime(){ p[0]=0,p[1]=0,...
分类:
其他好文 时间:
2014-11-15 17:00:18
阅读次数:
229
POJ 2262 Goldbach's Conjecture(素数相关)
http://poj.org/problem?id=2262
题意:
给你一个[6,1000000]范围内的偶数,要你将它表示成两个素数相加和的形式。如果存在多组解,请输出两个素数差值最大的解。
分析:
首先我们用素数筛选法求出100W以内的所有素数。
筛选法求素数可见:
http://blog.csdn.net/u013480600/article/details/411200...
分类:
数据库 时间:
2014-11-15 11:27:48
阅读次数:
254
POJ 3978 Primes(求范围素数个数)
http://poj.org/problem?id=3978
题意:
给你一个区间范围A和B,要你求出[A,B]内的素数个数。其中B<=100000。
分析:
首先我们求出2到10W的素数表,把每个素数按从小到大的顺序保存在prime数组中。然后我们用二分查找找到A的下界和B的上界,然后用上界-下界即为素数个数。
程序实现用了两种筛选法来求素数表。两种筛选法都是基于每个自然合数都可以分解为:最小素因子p*剩余部分q。...
分类:
其他好文 时间:
2014-11-14 17:52:49
阅读次数:
253
2014.11.4 7:33 还有三天半就要NOIP,圈一下要背的知识点:一、数论1、素数判断2、筛法求素数3、求一个数的欧拉函数值4、预处理欧拉函数5、卡塔兰数递推式6、快速幂(模素数的乘法逆元)7、GCD二、图论1、最短路:①堆dijkstra ②spfa2、kruscal 最小生成树3、LCA...
分类:
其他好文 时间:
2014-11-05 22:48:19
阅读次数:
250
题意:给定一个大数k,k是两个大素数的乘积的值,再给定一个int内的数L
问这两个大素数中最小的一个是否小于L,如果小于则输出这个素数。
分析:因为k达到了10^100,只能用字符串读入,再转化为千进制,用int数组存储,
然后枚举小于L的素数,看是否能被整除,即判断k%L是否为0,
这样就得先用筛选法求素数打表,但是注意要打表到大于10^6
关于高精度取余,就需要用到同余定理...
分类:
其他好文 时间:
2014-11-05 17:20:29
阅读次数:
168
2014.11.4 7:33 还有三天半就要NOIP,圈一下要背的知识点:一、数论1、素数判断2、筛法求素数3、求一个数的欧拉函数值4、预处理欧拉函数5、卡塔兰数递推式6、快速幂(模素数的乘法逆元)7、GCD二、图论1、最短路:①堆dijkstra ②spfa2、kruscal 最小生成树3、LCA...
分类:
其他好文 时间:
2014-11-04 08:05:37
阅读次数:
128
gcd(x,y)(1 gcd(x/k,y/k)=1,k是x的质因数 的个数 Σφ(x/k) (1 2 using namespace std; 3 typedef long long ll; 4 int phi[10000001],n; 5 bool unPrime[10000001]; 6 ll ...
分类:
其他好文 时间:
2014-11-01 18:59:33
阅读次数:
164