数论 -- 质数
Object_S
Java C++
展开
-
AW196 质数距离
题目地址 毒瘤点: primeCnt必须放到一个玄学的位置。如果放到上面,评测的时候就会报错. 易错点: INF必须开到2147483647而不是1<<30. 需要对质数判定有着纵深的理解. #include<cstdio> #include<iostream> #include<cstring> #include<cmath&g...原创 2019-10-01 08:53:28 · 99 阅读 · 0 评论 -
AW197 阶乘分解
题目地址 算法原理: (文章链接) #include<cstdio> #include<iostream> using namespace std; const int MAXN=1e6; int primes[MAXN],primeCnt=0; bool notPrime[2*MAXN]; void initPrime(int x){ for(int i=...原创 2019-10-01 10:22:49 · 124 阅读 · 0 评论 -
P1075 质因数分解
题目地址 #include<cstdio> #include<iostream> using namespace std; int main(){ int n; scanf("%d",&n); for(int i=2;i<=n;i++){ if(!(n%i)){ printf("%d\n",n/i); break; } } ...原创 2019-10-02 10:12:19 · 124 阅读 · 0 评论 -
P1835 素数密度
题目地址 基本思路: 将区间内质数离散化到空间大小为1e6的数组中. 易错点: 需要特判l==1和l/primes[i]>1的情况. #include<cstdio> #include<iostream> #include<cstring> #include<cmath> using namespace std; const int...原创 2019-10-02 10:47:47 · 480 阅读 · 1 评论 -
P3912 素数个数
题目地址 #include<cstdio> #include<iostream> #include<cmath> using namespace std; const int MAXN=1e8; bool notPrime[MAXN]; int notPrimeCnt=0; void initPrime(int x){ int tot=sqrt(x+0...原创 2019-10-03 02:17:02 · 631 阅读 · 0 评论