Cod sursa(job #693222)
| Utilizator | Data | 27 februarie 2012 11:06:42 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.3 kb |
#include<cstdio>
int nr;
int isc[2000005];
int main()
{
freopen ("ciur.in","r",stdin);
freopen ("ciur.out","w",stdout);
int n;
scanf ("%d",&n);
nr=n-1;
int x=2;
while(x<n){
for(int i=x*2;i<=n;i+=x)
if(isc[i]==0)
isc[i]=1,nr--;
x++;
while(x<n&&isc[x])x++;
}
printf ("%d",nr);
return 0;
}
