Cod sursa(job #572524)
| Utilizator | Data | 5 aprilie 2011 13:04:26 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include <cstdio>
#define Nmax 2000005
using namespace std;
char e[Nmax];
int n,nr;
FILE *fin=freopen("ciur.in","r",stdin);
FILE *fout=freopen("ciur.out","w",stdout);
void eratostene()
{
e[1]=1;
for(int i=2;i<=n;i++)
e[i]=1;
for(int i=2;i<=n;i++){
if(e[i])
{
nr++;
for(int j=i+i;j<=n;j+=i)
e[j]=0;
}
}
printf("%d\n",nr);
}
int main()
{
scanf("%d", &n);
eratostene();
return 0;
}
