题目链接:uva 10140 - Prime Distance
题目大意:给出一个范围,问说该范围内,相邻的两个素数最大距离和最小距离。
解题思路:类似素数筛选法,起始位置有L开始,直到超过R,处理出素数之后就好办了。
#include
#include
#include
const int maxn = 1e6;
typedef long long ll;
int cp,...
分类:
其他好文 时间:
2014-07-03 16:00:49
阅读次数:
213
http://poj.org/problem?id=2478
求欧拉函数的模板。
初涉欧拉函数,先学一学它基本的性质。
1.欧拉函数是求小于n且和n互质(包括1)的正整数的个数。记为φ(n)。
2.欧拉定理:若a与n互质,那么有a^φ(n) ≡ 1(mod n),经常用于求幂的模。
3.若p是一个质数,那么φ(p) = p-1,注意φ(1) = 1。
4.欧拉函数是积性函数:
...
分类:
其他好文 时间:
2014-06-16 19:44:16
阅读次数:
204
题目来源:Light 1289 LCM from 1 to n
题意:。。
思路:从1到n 打过某个数是以一个素数的几次方 那么答案就乘以这个素数
主要是筛选素数 存不下 位优化 一个整数32位标记32个数 内存缩小32倍
是学习别人的
#include
#include
#include
#include
using namespace std;
const int maxn ...
分类:
其他好文 时间:
2014-06-10 18:05:45
阅读次数:
250
被坑了3个小时,本来以为算法错了,谁知道,竟然是素数筛弄错了!!!#include #include
#include #include #include using namespace std;int a[10001];int v[10001];int
n,m;struct node{ int.....
分类:
其他好文 时间:
2014-06-08 18:56:44
阅读次数:
259
#include #include #include #include #include
#include #include using namespace std;bool pre_arry[1100];void pre_cnt() //素数筛{
memset(pre_arry,1,sizeof....
分类:
其他好文 时间:
2014-06-03 14:57:38
阅读次数:
259
这是我目前知道的打素数表最快的方法了…………
差不多是O(n)的,100000以内花了0.005秒。 1 int prime[100005], np, vis[100005]; 2 3 void
get_prime(int n){ 4 mset(prime); mset(vis); 5 ...
分类:
其他好文 时间:
2014-05-30 23:26:36
阅读次数:
204
一般的素数筛选的思路是从2开始,将所有2的倍数去掉,然后从3开始,将3的倍数去掉,然后从下一个素数x开始,将x的倍数去掉...,这样可以将所有素数的倍数去掉。实现代码如下:
1 int PrimeOld() 2 { 3 int i; 4 5 cnt = 0; 6 memse...
分类:
其他好文 时间:
2014-05-28 04:22:15
阅读次数:
180
题目来源:POJ 2689 Prime Distance
题意:给出一个区间L R 区间内的距离最远和最近的2个素数 并且是相邻的 R-L
思路:一般素数筛选法是拿一个素数 然后它的2倍3倍4倍...都不是 然后这题可以直接从2的L/2倍开始它的L/2+1倍L/2+2倍...都不是素数
首先筛选出一些素数 然后在以这些素数为基础 在L-R上在筛一次因为 R-L
#include
#i...
分类:
其他好文 时间:
2014-05-15 19:51:58
阅读次数:
313
1 /** 2 给定一定范围求其内的素数 3 4 注意: 5 **/ 6 7 #include 8
#include 9 #include 10 using namespace std;11 #define maxn 100000012 long long
prime[500000];1...
分类:
其他好文 时间:
2014-05-13 19:50:13
阅读次数:
242