Pagini recente » Cod sursa (job #849549) | Cod sursa (job #2110987) | Cod sursa (job #145206) | Cod sursa (job #65727) | Cod sursa (job #232545)
Cod sursa(job #232545)
#include<stdio.h>
#include<string.h>
int n,cnt=0;
//char *Prime;//Prime[i]==1 => Prime[i] nu e prim
char Prime[2000001];
void pregateste()
{FILE *pin=fopen("ciur.in","r");
fscanf(pin,"%d",&n);
//Prime=new char[n/16+1];
//memset(Prime,0,sizeof(Prime)*(n/16+1));
for(int i=1;i<=n;i++)
Prime[i]=0;
fclose(pin);}
void rezolva()
{long int i,j;
for(i=3;i<=n;i+=2)
//if(( Prime[i/16] & (1<<(i/2%8)))==0)
{
cnt++;
for(j=i*i;j<=n;j+=i*2)
//Prime[j/16]=Prime[j/16]|(1<<(j/2%8));
Prime[0]=1;
}
}
void incheie()
{//delete []Prime;
FILE *pout=fopen("ciur.out","w");
fprintf(pout,"%d",cnt+1);
fclose(pout);}
int main()
{
pregateste();
rezolva();
incheie();
return 0;
}