numeros primos
Please, me hace falta que alguien me ayude en un algoritmo para saber de una lista de numeros cual de ellos es primo, de veras que lo necesito lo antes posible
Gracias de antemano...
Saludos...
Gracias de antemano...
Saludos...
int primo(int num)
{
for(int i=2; i<num; i++)
{
if(!(num%i))
return 0;
}
return 1;
}
{
for(int i=2; i<num; i++)
{
if(!(num%i))
return 0;
}
return 1;
}
gracias hermano...
Ahora otra pregunta, como yo puedo contar el tiempo de demora de la busqueda de todos los n numeros entrados por el usuario, por ejemplo en milisegundos ??
Ahora otra pregunta, como yo puedo contar el tiempo de demora de la busqueda de todos los n numeros entrados por el usuario, por ejemplo en milisegundos ??
En la libreria time.h tienes la funcion clock() que te devuelve un tipo cock_t que basicamente contiene el numero de ticks (ciclos del procesador) desde que inicio el programa, puedes restar dos objetos clock_t y obtener la diferencia de ticks en un numero real, despues debes usar la constante CLOCKS_PER_SEC para convertir el resultado en segundos.
Debes modificar main e incluir las secciones entre comentarios,
int main()
{
///////////
clock_t inicio,fin;
double duracion;
inicio=clock();
//////////
printf("ntNumeros primos entre 2 y 10000:n");
int cont=0;
for(long x=2;x<=100;x++)
{
if(primo(x))
{
cout<<setw(9)<<x;
cont++;
}
if(cont==5)
{
cout<<endl;
cont=0;
}
}
/////////////
fin=clock();
duracion=(double)(fin-inicio)/ CLOCKS_PER_SEC;
cout<<"Duracion en segundos="<<duracion<<endl;
/////////////
getch();
return 0;
}
cuando lo pruebes igual te da 0, esto se debe ha que realiza todo el trabajo en menos de un tick, por lo menos asi ocurria en mi ordenador, dependera de la velocidad del tuyo. Puedes comprobar esto perdiendo tiempo con un bucle por ejemplo para que la diferencia sea apreciable.
Ya diras...
Debes modificar main e incluir las secciones entre comentarios,
int main()
{
///////////
clock_t inicio,fin;
double duracion;
inicio=clock();
//////////
printf("ntNumeros primos entre 2 y 10000:n");
int cont=0;
for(long x=2;x<=100;x++)
{
if(primo(x))
{
cout<<setw(9)<<x;
cont++;
}
if(cont==5)
{
cout<<endl;
cont=0;
}
}
/////////////
fin=clock();
duracion=(double)(fin-inicio)/ CLOCKS_PER_SEC;
cout<<"Duracion en segundos="<<duracion<<endl;
/////////////
getch();
return 0;
}
cuando lo pruebes igual te da 0, esto se debe ha que realiza todo el trabajo en menos de un tick, por lo menos asi ocurria en mi ordenador, dependera de la velocidad del tuyo. Puedes comprobar esto perdiendo tiempo con un bucle por ejemplo para que la diferencia sea apreciable.
Ya diras...