Cod sursa(job #855166)
| Utilizator | Data | 14 ianuarie 2013 18:53:37 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 10 |
| Compilator | c | Status | done |
| Runda | Arhiva educationala | Marime | 0.72 kb |
#include <stdio.h>
#include <stdbool.h>
long long i,j,n,i1,i2,m=2,i11,i22,n1;
bool a[1000000000];
int main()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%li",&n);
n=1000000;
for(i=6;i<n;i+=6)
{
i1=i-1;
i2=i+1;
if(!a[i1])
{
m++;i11=i1*6;
for(j=i1;j<=n;j+=i11)
a[j]=1;
for(j=i1*i1;j<=n;j+=i11)
a[j]=1;
}
if(!a[i2])
{
m++;i22=i2*6;
for(j=i2;j<=n;j+=i22)
a[j]=1;
}
}
printf("%li",m);
return 0;
}
