Criba de Erastotenes :) ALguien me ayuda?
Necessito que alguien me ayude a encontrar una mejora a hacerle a este programa, para que calcule mas rapido. Gracias, sois mis idolos :).
#include <stdio.h>
#include <stdlib.h>
#define MAX 20
#define TRUE (1 == 1)
#define FALSE ( 1 == 0)
int main (int argc, char *argv[]){
int p[MAX];
int i, n, candidat;
int divisible;
p[0] = 2;
p[1] = 3;
n = 2;
candidat = p[n-1] + 2;
while (n < MAX) {
divisible = FALSE;
for (i=1; (i <n) && !divisible; i++)
divisible = ((candidat % p[i]) == 0);
if (!divisible)
p[n++] = candidat;
candidat +=2;
}
printf ("*** Garbell d\'Erastotenes ***\n\n");
for (i=0; i < MAX; i++)
printf ("\n |Nombre primer %2d = %1d ",i,p[i]);
printf("\n\n");
system ("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#define MAX 20
#define TRUE (1 == 1)
#define FALSE ( 1 == 0)
int main (int argc, char *argv[]){
int p[MAX];
int i, n, candidat;
int divisible;
p[0] = 2;
p[1] = 3;
n = 2;
candidat = p[n-1] + 2;
while (n < MAX) {
divisible = FALSE;
for (i=1; (i <n) && !divisible; i++)
divisible = ((candidat % p[i]) == 0);
if (!divisible)
p[n++] = candidat;
candidat +=2;
}
printf ("*** Garbell d\'Erastotenes ***\n\n");
for (i=0; i < MAX; i++)
printf ("\n |Nombre primer %2d = %1d ",i,p[i]);
printf("\n\n");
system ("PAUSE");
return 0;
}