Cod sursa(job #1096080)
| Utilizator | Data | 1 februarie 2014 15:11:45 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | c | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include <stdio.h>
#include <stdlib.h>
char ciur[2000000];
int main()
{
int n,i,c=0,j;
FILE *fin=fopen("ciur.in","r");
FILE *fout=fopen("ciur.out","w");
fscanf(fin,"%d",&n);
//scanf("%d",&n);
for(i=1; ((i<<1)+1)<=n; i++)
if(ciur[(i<<1)+1]==0){
c++;
for(j=((i<<1)+1); j<=n; j+=((i<<1)+1)<<1)
ciur[j]=1;
}
//printf("%d",c+1);
fprintf(fout,"%d",c+1);
return 0;
}
