#include<stdio.h>
#include<stdlib.h>
//#include<limits.h>
//#include<time.h>
char *sort_prime_number();
int main(){
//srand((unsigned int)time(0)*10000);
int number_max=0;
int number_prime_number=0;
//for(;number_max<9999;number_max=rand()%INT_MAX);
number_max=1000;
printf("number_max=%d\n",number_max);
int *numbers=(int *)calloc(number_max+1,sizeof(int));
char *numbers_tag=(char *)calloc(number_max+1,sizeof(char));
for(int i=0;i<number_max+1;*(numbers+i)=i,*(numbers_tag+i)=1,i++);
*numbers_tag=0;
*(numbers_tag+1)=0;
for(int j=2,flag=0;1;j++,flag=0){
if(j!=2&&!(j%2))
j++;
for(int i=j*2;i<number_max+1;i+=j)
if(*(numbers_tag+i)){
*(numbers_tag+i)=0;
flag=1;
}
if(!flag)
break;
}
for(int i=1;i<number_max+1;number_prime_number+=*(numbers_tag+i)?1:0,i++);
printf("There were %d prime number between 0-%d:\n",number_prime_number,number_max);
for(int i=0,count=0;i<number_max+1;i++){
if(*(numbers_tag+i)){
count++;
printf("%d%c",*(numbers+i),count%10?32:10);
}
}
free(numbers);
numbers=NULL;
free(numbers_tag);
numbers_tag=NULL;
return 0;}