Acerca del algoritmo y la comprensión del código del programa para encontrar números primos
#include lt;malloc.hgt;
#include lt;time.hgt; /p>
int main()
{
inicio largo = reloj()
int num = 0
int* primes = (int*)malloc( MAX_NUM*sizeof(int) ); //La asignación dinámica del espacio de almacenamiento es una función
primes[num] = 2;
unsigned __int64 temp; //Es para compatibilidad de versiones o multiplataforma
Ahora que las máquinas de 32 bits se han convertido en máquinas de 64 bits, esa definición es necesaria
for(int i = 3; i lt; = MAX_NUM; i =2 )
{
for( int j = 1; j lt; num; j )
{
if( iprimes[j] == 0 ) ir a NOT_PRIME;
temp = primos[j]*primos[j]; >
if( temp gt; = i ) break; // Si el producto de dos números primos es mayor que i, sal del ciclo
}.
primos[num] = i; // Almacena los números primos en la matriz
NOT_PRIME:
; >
printf("buscar d números primos, costo ld\n", num, reloj()-start
free(primos) //liberar almacenamiento
); getchar ();
devuelve 0;
}