Pagini recente » Cod sursa (job #3157474) | Cod sursa (job #2130790) | Cod sursa (job #2099615) | Cod sursa (job #1468730) | Cod sursa (job #891894)
Cod sursa(job #891894)
#include <stdio.h>
#include <stdbool.h>
#define MAXSIZE 2000010
#define S 6
#define U 1
long long i,j,j2,i1,i2,i22,i11;
long m=2,n,p;
bool a[MAXSIZE];
int main()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%i",&n);
p=n/7;
for(i= S ; i <=p ; i += S)
{
i1 = i - U;
i2 = i + U;
if(! a [ i1 ])
{
m++;
i11 = i1*S;
for( j =i11+i1, j2 = i1 * i1 ; j<= n; j += i11, j2 += i11 )
{
a[j]|=1;
if( j2 <= n )
{
a[j2]|=1;
}}
}if(! a [ i2 ])
{ m++;
i22 = i2*S;
for(j =i2*i2 ; j <= n ; j += i22)
{
a[j]|=1;
}
}
}
for(;i<=n;i+=6)
{
m+=!a[i+1]+!a[i-1];
}
printf("%d",m);
return 0;
}