PDA

Ver la versión completa : Numeros primos



alcaide
05-03-2003, 12:59
Hola,
Alguien podria proporcionarme un algoritmo potente de generacion de numeros primos???. Preferiria, si fuese en Delphi o en C++.
Gracias

<PICCOLO>
05-03-2003, 13:37
La búsqueda avanzada está para algo...

http://www.hackhispano.com/foro/showthread.php?s=&threadid=5271&highlight=primos

-saludos-

ThE ShArk
05-03-2003, 20:48
Pues este algoritmo lo desarrolle hace ya tiempo, no se si sirva, o si es seguro esta en c++:

---
#include <iostream.h>
main()
{
int x, y;
for(x=1;x<=1000;x++)
{
if(x==2||x==3||x==5||x==7) cout<<x;
else {
if((x%2)==0) continue;
if((x%3)==0) continue;
if((x%5)==0) continue;
if((x%7)==0) continue;
}
cout<<x;
}}
---
Sobra decir que el 1000 de la linea 5 lo cambias por el numero que quiera.

No me consta que sea seguro, si tiene algu problema notifiquemelo, que yo lo utilizo en algunos de mis porgramas y hasta ahora he tenido razon.

^K3``N30
06-03-2003, 06:07
Ese algoritmo tiene un fallo y es el de pensar que utilizando solo el 2,3,5 y 7 en la division te saldran los primos correctos. Ya que como por ejemplo reconoceria el 121 como primo y no lo es ya que sale de multipliacar 11*11 o el 169 que sale de 13*13.

krego
08-03-2003, 15:43
Es bastante rápido, se podrían dar menos vueltas si pusieras que i fuera menor que n^1/2 , habría q usar la math.h. Aquí te lo dejo:


/* PRIMITOS by krego */

#include <stdio.h>
#include <conio.h>

void main()
{

int n;
int i;
char op;

do
{

printf ("\nDame un numero: ");
scanf ("%i",&n);
i=2;
while (n%i != 0 && i<n)
i++;

if (n==i)
{
textcolor (3);
printf ("\n\nEs primo");
}
else
printf ("\n\nNo es primo");


printf ("\n\nMas?");
fflush (stdin);
scanf ("%c",&op);
clrscr ();
}while (op == 's');

printf ("Pulsa tecla para acabar...");
fflush (stdin);
getchar ();
}


-------------------
Compila y funciona perfectamente con Borland C++ 5.01.