Cod sursa(job #2147093)
Utilizator | Data | 28 februarie 2018 14:10:37 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include<bits/stdc++.h>
using namespace std;
int n, k;
bool ciur[2000001];
int main(){
int i, prim=2;
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
cin>>n;
ciur[0]=1;
ciur[1]=1;
while(prim*prim<=n){
if(ciur[prim]==0)
for(i=prim*prim;i<=n;i+=prim)
ciur[i]=1;
prim++;
}
for(i=1;i<=n;i++){
if(ciur[i]==0)
k++;
}
cout<<k;
return 0;
}