Cod sursa(job #158551)
Utilizator | Data | 13 martie 2008 18:08:33 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.33 kb |
#include <stdio.h>
#include <math.h>
#define max 2000002
char v[max];
long n,count,i,j;
FILE *f,*g;
int main(){
f=fopen("ciur.in","r");
g=fopen("ciur.out","w");
fscanf(f,"%ld",&n);
for(i=3;i<=n;i+=2)
if(!v[i]&&i%2) {
count++;
for(j=3*i;j<=n;j+=2*i) v[j]=1;
}
fprintf(g,"%ld\n",count+1);
fclose(g);
return 0;
}