Sujet : Re: A very slow program
De : nospam (at) *nospam* needed.invalid (Paul)
Groupes : alt.comp.lang.c comp.lang.cDate : 16. Sep 2024, 07:22:09
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vc8fa1$2m1lh$1@dont-email.me>
References : 1
User-Agent : Ratcatcher/2.0.0.25 (Windows/20130802)
On Sun, 9/15/2024 6:45 PM, Student Project wrote:
#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.
*/
Good prime code, comes with its own timing routines :-)
http://cr.yp.to/primegen.html http://cr.yp.to/primegen/primegen-0.97.tar.gz Paul