Cod sursa(job #1873279)
Utilizator | Data | 8 februarie 2017 21:42:07 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include <bits/stdc++.h>
#define nmax 2000000
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
int c[nmax],n;
void ciur()
{int i,j;
c[2]=1;
for(i=3;i<=n;i+=2) c[i]=1;
for(i=3;i*i<=n;i+=2)
if(c[i]==1)
for(j=i*3;j<=n;j+=2*i) c[j]=0;
}
int af()
{int i;
int ct=1;
for(i=3;i<=n;i+=2)
if(c[i]==1) ct++;
return ct;
}
int main()
{int i;
f>>n;
ciur();
g<<af()<<endl;
return 0;
}