Cod sursa(job #240597)
| Utilizator | Data | 8 ianuarie 2009 00:15:56 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.39 kb |
#include<stdio.h>
const long long z=2000000;
long long n,prime;
bool c[z];
void ciur()
{
int j=0;
for(int i=2;i<=z;++i)
if(c[i]==false)
for(j=i+i;j<=z;j+=i)
c[j]=true;
}
int main()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%lld",&n);
ciur();
for(;n>=1;--n)
{
if(c[n]==false)
++prime;
}
printf("%d",prime);
return 0;
}