Cod sursa(job #170014)
| Utilizator | Data | 2 aprilie 2008 12:21:00 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.52 kb |
#include<stdio.h>
#include<string.h>
#define input "ciur.in"
#define output "ciur.out"
#define dim 2000001
int n, cont=0;
char a[dim];
int main()
{
FILE *in, *out;
in = fopen (input, "r");
out = fopen (output, "w");
int i, j;
fscanf(in, "%d", &n);
memset(a,1,n+1);
for(i=2; i<=n; i++)
if(a[i])
{
cont++;
for(j=i+i; j<=n; j+=i)
a[j] = 0;
}
fprintf(out, "%d\n", cont);
return 0;
}
