Cod sursa(job #169999)
Utilizator | Alexandra Retegan alle_forever13 | Data | 2 aprilie 2008 12:16:17 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
#include<stdio.h>
#include<string.h>
#define input "ciur.in"
#define output "ciur.out"
#define dim 2000001
long long unsigned n, cont=1;
char a[dim];
int main()
{
FILE *in, *out;
in = fopen (input, "r");
out = fopen (output, "w");
long long unsigned i, j;
fscanf(in, "%lld", &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, "%lld\n", cont);
return 0;
}