All pastes #552712 Raw Edit

Mine

public c v1 · immutable
·published 2007-06-09 12:31 UTC
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;}