Pregunta:
¿!!!URGENTEEE!!! Un algoritmo para calcular si N es primo? Doy 10 puntos...!!!?
anonymous
2008-10-09 16:20:31 UTC
Osea...se trata de realizar un algoritmo q calcule si n es rimo preferiblement con las estructuras
Cuatro respuestas:
Silensho
2008-10-09 16:41:21 UTC
El algoritmo lo podés construir vos, tomando en cuenta el criterio que dice que un número es primo solamente si es divisible exactamente dentro de 1 y dentro de él mismo. ¿Cómo sabés si se divisible dentro de 1? Pues lo dividís dentro de 1 y no debe quedar residuo (Esto nos indica que cualquier número con cifras decimales no es primo, pero eso es otra historia).



Después tenés que estar seguro que solamente se puede dividir dentro de él mismo. Una forma de hacerlo es dividirlo dentro de los números naturales previos exceptuando el 1 y N. Si la división entre alguno de esos números es exacta, el número no es primo. En caso contrario, el número será primo. Te pongo un ejemplo con los número 4 y luego 5.



Efectuamos



4 / 1 = 4



Como no hay residuo, continuamos. Si hubiera residuo, ya no seguimos porque indicaría que el 4 no es primo.



Ahora empezamos con los otros números naturales hasta llegar al N-1 o encontrar una división exacta.



4 / 2 = 2



Como no hay residuo, eso indica que el 4 es múltiplo de 2. Entonces ya no seguimos porque 4 no es primo.



Ahora con 5



5/1 = 5



Como no hay residuo, continuamos.



5/2 = 2.5



Como hay residuo (es decir, la división no es exacta), eso nos indica que 5 no es múltiplo de 2, así que continuamos.



5/3 = 1.67



Como hay residuo (es decir, la división no es exacta), eso nos indica que 5 no es múltiplo de 3, así que continuamos.



5/4 = 1.25



Como hay residuo (es decir, la división no es exacta), eso nos indica que 5 no es múltiplo de 3, así que continuamos.



Y como llegamos a N-1 sin encontrar un número de división exacta con 5, entonces determinamos que 5 es primo.



Espero te sea de ayuda.
vash47
2008-10-09 16:54:51 UTC
Está en pseudocódigo:



procedure Primo

if n<=3 then print "es primo"

else

while f==1

for i=2 to n-1

if mod n/i==0 then f=0

end while

end if

if f==1 then print "es primo" else print "no es primo"

end if

end procedure
Jose Luis P
2008-10-09 16:49:55 UTC
public class Primo {



public static void main(String[] args) {



int INumeroEntrada=20;

int IIncremento;

int IContador;



for (int INumero=1;INumero<=INumeroEntrada;++INumero)

{

IIncremento=1;

IContador=0;

while(IIncremento<=INumero)

{

if ((INumero%IIncremento)==0)

{

IContador++;

}

IIncremento++;

}



if ((IContador)<=2)

{



System.out.println("El numero "+INumero+" es primo ");

}

else

{



System.out.println("El numero "+INumero+" no es primo ");

}

}



}



}
[^·|Ξ|зГ·ГεЯө|Ξ|·^]
2008-10-09 16:27:32 UTC
esto fue hecho en java.. si no te das cuenta de lo que hay no sabes programa

for (INumero=1;INumero<=INumeroEntrada;INumero++)

{

IIncremento=1;

IContador=0;//contador no debe ser mayor que 2 para que sea primo

while(IIncremento<=INumero)

{

if ((INumero%IIncremento)==0)

{

IContador++;

}

IIncremento++;

}



if ((IContador)<=2)

{

//Es primo

System.out.println("El numero "+INumero+" es primo ");

}

else

{

//No es primo

System.out.println("El numero "+INumero+" no es primo ");

}

}

si sabes que es for y todas las palabras reservadas


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