Cod sursa(job #1884742)
| Utilizator | Data | 19 februarie 2017 10:10:18 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include <iostream>
#include <cstdio>0
using namespace std;
int n,cnt;
bool p[2000005];
void Ciur() {
for(int i=4;i<=n;i+=2)
p[i]=true;
for(int d=3;d*d<=n;d+=2)
if(!p[d])
for(int d2=d*d;d2<=n;d2+=d)
p[d2]=true;}
int main () {
freopen("ciur.in", "r", stdin);
freopen("ciur.out", "w", stdout);
cin>>n;
Ciur();
for(int i=2;i<=n;i++) {
if(p[i]==false)
cnt++;
}
cout<<cnt;
return 0;
}
