rendered paste body// Eratosthenes' sieve #include <stdio.h>#include <stdlib.h>#define SIZE 10000000int fill_sieve(int *psieve);int sort_sieve(int *psieve);int print_sieve(int *psieve);int main(void){ int *psieve = NULL; psieve = (int *)malloc(SIZE*sizeof(int)); if(psieve == NULL) { printf("\nNot enough memory.\n"); return 1; } fill_sieve(psieve); sort_sieve(psieve); print_sieve(psieve); free(psieve); return 0;}int fill_sieve(int *psieve){ for(int i = 0; i < SIZE; i++) psieve[i] = i; return 0;}int sort_sieve(int *psieve){ for(int i = 2; i < SIZE; i++) for(int j = i * 2; j < SIZE; j += i) psieve[j] = 0; return 0;}int print_sieve(int *psieve){ FILE *pfile = NULL; char *filename = "primes.txt"; if(!(pfile = fopen(filename, "w"))) { printf("Error opening %s for writing.", filename); exit(1); } for(int i = 2; i < SIZE; i++) if(psieve[i] != 0) fprintf(pfile, "%d\n", psieve[i]); fclose(pfile); return 0;}