时间复杂度为O(n)线性筛选n以内的素数, 关键在于if i mod p[j]=0 then break;保证每个数最多被筛选一次。
分类:
其他好文 时间:
2014-10-28 17:21:45
阅读次数:
277
题目:求给顶一个数n,的所有的1 ≤ m ≤ n的m,使得gcd(m,n)≠ 1 且 gcd(m,n)≠ m。
分析:数论,素数筛法,欧拉函数。
设pi为n的第i个素数因,k1为第i个素数因子的个数,则有:
1 ≤ m ≤ n,gcd(m,n)= 1 的m的个数为欧拉函数;
欧拉函数:φ(n)= n *(1 - 1/...
分类:
其他好文 时间:
2014-10-28 09:25:08
阅读次数:
222
考察欧拉函数的一道题
首先要知道 【定理】正整数n(n≥2)可以唯一分解成素数乘积,即:n =p[1]^r1 * p[2] ^r2 * p[3]^r3. *...* p[s]^rs???
其次欧拉函数有两个性质,可以用来编程,单独求phi函数:
① phi(m) = m ( 1- 1/p[1]) ( 1- 1/p[2])…( 1- 1/p[s])
② phi(p^k)...
分类:
其他好文 时间:
2014-10-27 23:04:25
阅读次数:
230
描述现在给你一个正整数N,要你快速的找出在2.....N这些数里面所有的素数。输入给出一个正整数数N(N 2 #include 3 #include 4 #define N 2000001 5 6 int main(){ 7 int i; 8 int j; 9 ch...
分类:
编程语言 时间:
2014-10-27 17:29:54
阅读次数:
193
Problem Description对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39 2 #include 3 #include 4 #define N 3000 5 6 int main(){ 7 char flag[N]; 8 int ...
分类:
其他好文 时间:
2014-10-27 17:10:32
阅读次数:
247
一、前言质因数分解,是一个在算法竞赛里老生常谈的经典问题。我们在解决许多问题的时候需要用到质因数分解来辅助运算,而且质因数分解牵扯到许许多多经典高效的算法,例如miller-rabin判断素数算法,rho启发式搜索质因数分解算法等。在此文里,我要介绍的就是miller-rabin算法以及rho启发式...
分类:
其他好文 时间:
2014-10-27 17:04:58
阅读次数:
348
题目:找到整数区间[1,n]中多有的互质数对。
分析:数论,筛法,欧拉函数。在筛素数的的同时,直接更新每个数字的欧拉函数。
每个数字一定会被他前面的每个素数筛到,而欧拉函数的计算是n*π(1-1/pi);
其中,pi是n的素数因子,所以可以利用筛法来计算欧拉函数,然后求和;
注意,这时求出的欧拉函数为所有小于n的数m与...
分类:
其他好文 时间:
2014-10-27 14:25:36
阅读次数:
198
好吧……我不会欧拉筛也就罢了……傻逼筛法竟然这么长时间以来 一直RE ……源头竟然是 int 爆了。 1 #include 2 #include 3 using namespace std; 4 bool vis[70000]; 5 int a,b; long long ans; 6 void Sh...
分类:
其他好文 时间:
2014-10-27 12:39:04
阅读次数:
160
#include#includeusing namespace std;void main(){int i,a,k=1;cout>a;if(a==0 || a==1)cout<<"不是素数! "<<endl;else if(a==2||a==3)cout<<" 是素数"<<endl;else {fo...
分类:
其他好文 时间:
2014-10-27 12:26:30
阅读次数:
148
素数判定模板。 1 #include 2 #include 3 using namespace std; 4 int a[2001],ans=-2147483647,l,r,n,sum[2001]; 5 bool is_prime(const int &x) 6 { 7 for(int i=...
分类:
其他好文 时间:
2014-10-27 12:17:56
阅读次数:
172