Sujet : A very slow program De : student (at) *nospam* invalid.invalid (Student Project) Groupes :alt.comp.lang.c comp.lang.c Date : 16. Sep 2024, 00:45:59 Autres entêtes Organisation : To protect and to server Message-ID :<vc7nb0$7rl3$1@paganini.bofh.team>
#include <time.h> #include <stdio.h>
#define RUNS 1000 #define SIZE 1000000
int mark[SIZE];
int main(void) { time_t start, finish; int i, loop, n, num;
time(&start);
/* This loop finds the prime numbers between 2 and SIZE */ for (loop = 0; loop < RUNS; ++loop) { for (n = 0; n < SIZE; ++n) mark[n] = 0; /* This loops marks all the composite numbers with -1 */ for (num = 0, n = 2; n < SIZE; ++n) if (!mark[n]) { for (i = 2 * n; i < SIZE; i += n) mark[i] = -1; ++num; } } time(&finish); printf("Program takes an average of %f seconds " "to find %d primes.\n", difftime(finish, start) / RUNS, num); } /* The result on my slow machine: Program takes an average of 0.018000 seconds to find 78498 primes. */