Cod sursa(job #854832)
Utilizator | Data | 14 ianuarie 2013 10:06:39 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 10 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.49 kb |
#include <stdio.h>
#include <stdbool.h>
long i,j,n,i1,m=3;
bool a[100000000];
int main()
{ freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%i",&n);
n=30000;
for(i=6;i<n;i+=6)
{ for(i1=i-1;i1<=i+1;i1+=2)
if(i1%5!=0&&a[i1]!=1)
{ a[i1]=1;m++;
for(j=i1;j<=n;j+=i1*6)
a[j]=1;
if(i1%6==5&&i1<=n/i1+1)
for(j=i1*i1;j<=n;j+=i1*6)
a[j]=1;
}
}
printf("%i",m);
return 0;
}