素数筛
素数筛
素数筛
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <bits/stdc++.h>
using namespace std;
const int N =1e6+7;
int vis[N],prime[N];
int main()
{
int n,c=0;
scanf("%d",&n);
for(int i=2;i<=n;i++)
{
if(!vis[i])prime[++c]=i;
for(int j=1;prime[j]<=n/i;j++){
vis[prime[j]*i]=1;
if(i%prime[j]==0)break;
}
}
printf("%d",c);
return 0;
}
本文由作者按照 CC BY 4.0 进行授权