Pagini recente » Cod sursa (job #1896084) | Cod sursa (job #450721) | Cod sursa (job #1910620) | Cod sursa (job #177197) | Cod sursa (job #3278614)
#include<stdio.h>
int p[1000001];
int prim(int x)
{
int nr=1,i,j;
for(i = 1; ((i*i)<<1) + (i<<1) <= x; i++){
if(p[i]==0){
for(j = ((i*i)<<1) + (i<<1); (j<<1)+1 <= x; j+=(i<<1)+1){
p[j] = 1;
//printf("%d\n",j);
}
}
}
for(i = 1; (i<<1)+1 <= x;i++)
if(p[i]==0){
nr++;
printf("%d ",i);
}
return nr;
}
int main(){
FILE* in = fopen("ciur.in","r");
FILE* out = fopen("ciur.out","w");
int n;
fscanf(in,"%d",&n);
fprintf(out,"%d",prim(n));
fclose(in);
fclose(out);
return 0;
}