Red de conocimientos turísticos - Conocimientos sobre calendario chino - Acerca del algoritmo y la comprensión del código del programa para encontrar números primos

Acerca del algoritmo y la comprensión del código del programa para encontrar números primos

#include lt; stdio.hgt;

#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;

}

s All Rights Reserved.