Cod sursa(job #2145736)
Utilizator | Data | 27 februarie 2018 16:25:44 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include<stdio.h>
#define INF 2000002
#include<bitset>
using namespace std;
int n,ans=0;
bitset<INF> sieve;
int main(){
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%d",&n);
for(long long i=2;i<=n;++i){
if(i%10000==0)
int a=1;
if(sieve[i])continue;
ans+=1;
for(long long j=i*i;j<=n;j+=i)sieve[j]=1;
}
printf("%d",ans);
return 0;
}