Cod sursa(job #588860)
| Utilizator | Data | 9 mai 2011 20:27:13 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include <cstdio>
const int max = 2000005;
using namespace std;
int n;
char a[max];
int main(){
int i, j, p = 0;
freopen ("ciur.in","r",stdin);
freopen ("ciur.out","w",stdout);
scanf("%d",&n);
for (i=2;i<=n;++i) a[i] = 1;
for (i=2;i<=n;++i)
if (a[i]==1) {
++p;
//printf("%d ",i);
for(j=i+i;j<=n;j+=i) a[j] = 0;
}
printf("%d\n",p);
return 0;
}
