Pregunta:
¿algoritmo de 50 números primos?
flanch
2011-09-18 11:04:19 UTC
cual seria el algoritmo de los numeros primos hasta 50
gracias todo aquel que responda 10 pts
Cinco respuestas:
?
2011-09-18 12:08:25 UTC
este es el algoritmo solo debes modificarlo con la sintaxis del programa q estes utilizando,

de igual te dejo tambien el codigo para C++



ahh!!! si quieres q te muestre hasta un numero x q el usuario le ingrese solo debes cambiar 50 por una variable q deberas pedir antes del 50, de esa forma esta el ejemplo del codigo en c++



inicio



entero: i, n, m, primo



mostrar("NUMEROS PRIMOS HASTA 50")



para (i=1, i<=50, i=i+1)

{



primo=1



si ((i=1)OR(i=2)OR(i=3))

{

mostrar( i," ES NUMERO PRIMO")



sino



para(m=2, i-1, j=j+1)



{ si(((i MOD j)!=0))

{

primo=primo+1



si(PRIMO=i-1)

{



mostrar(i,' ES NUMERO PRIMO')

}fin si

}

}fin para



}fin para



fin programa



codigo c++



#include

#include

#include



int numero,i,n,m,primo;



main()

{

printf("\nDIGITE HASTA Q NUMERO DESEA VER NUMEROS PRIMOS\n");

scanf("%d",&numero);

for(i=1;i<=numero;i++)

{



primo=1;

if((i=1)||(i=2)||(i=3))

{

printf("ES NUMERO PRIMO ""%d",i);

}

else

{

for(m=2;m
{

if((i % m)!=0)

{

primo=primo+1;

if(primo=i-1)

{

printf("ES NUMERO PRIMO ""%d",i);

}

}

}

}

}

getch();

}



espero te sirva Ok



att técnico de sistemas
e=mc2
2011-09-18 19:32:08 UTC
Hola flanch,

¿Podrías reformular tu pregunta? No termino de comprender si lo que buscas es hallar todos los números primos menores a 50, o bien hallar los 50 primeros números primos (que no es lo mismo).



Si lo que se busca es calcular los primos menores a 50, o en general a cualquier número N > 2,

te doy una pista para encarar un posible algoritmo:

http://es.wikipedia.org/wiki/Criba_de_Erat%C3%B3stenes



Un criterio similar puede encararse, basándose en el concepto de Criba de Eratóstenes para calcular los N primeros primos. En tu caso, haciendo N = 50.



Saludos,
anonymous
2011-09-18 19:03:48 UTC
Hola!!



Mira, es censillo:



Algoritmo:



Inicio



variable entera f;



para(f igual a 1; f menor o igual a 50; f++)

{

si(f mod 2 no es igual a 0)

{

Mostrar: variable entera f;

}

}

fin.



Espero entiendas y te sirva, saludos, suerte.
Aerosmithsonian
2011-09-18 18:54:41 UTC
Hay que checar los numeros anteriores al numero actual para revisar si es divisible entre alguno de ellos, exceptuando el uno, entonces...



int i, j, band;



for(i = 2; i<50;){ // Empezamos en 2, porque es el primer numero primo... Y hasta 50...



band = 1;



for(j = i / 2; j>1; j--){ //Buscamos numeros de la mitad para atras hasta el 2...

if (i%j == 0){ // Si el numero actual (i) es divisible entre alguno anterior (j)

band = 0; // Cambiamos la bandera y rompemos el ciclo de busqueda

break;

}

}



if (band){ // Si la bandera siguio siendo 1, no fue divisible entre ninguno, es primo

printf("%i ", i); // Imprimo el primo... xDDD Y aumento el contador de primos...

i++;

}



}



Se puede hacer así o buscando desde la raiz cuadrada del numero hasta el dos hasta encontrar alguna coincidencia... Cuestion de gustos...



Suerte!!!
?
2011-09-18 18:24:53 UTC
int n; //para n numero primos

cin>>n;

for(int i=1; i<=n; i=i+2)

cout<


Este contenido se publicó originalmente en Y! Answers, un sitio web de preguntas y respuestas que se cerró en 2021.
Loading...