- Tema Autor
- #1
Tengo que hacer un codigo que detecte si un numero es primo o no, para ello me baso en la siguiente regla matematica:
La mejor forma de saber si un número es primo es dividirlo por todos los números naturales que están entre el 2 y el natural que está después de su raiz cuadrada (en caso de no ser esta entero, si lo fuera ya sabríamos que no es primo). Si la división por alguno de estos da un número entero es que no es primo y de lo contrario si lo es. O sea que si 11 es primo, lo debo dividir por 2, 3 y 4 ya que su raíz está entre 3 y 4.
11/2 = 5.5
11/3 = 3.6666666...
11/4 = 2.75
Como ninguno es entero entonces 11 es primo.
Si se prueba con 12 hay que dividir por 2, 3 y 4 ya que su raíz está también entre 3 y 4.
12/2 = 6
ya puede saberse que no es primo.
Este método funciona para números grandes y facilita el trabajo ya que no hay que dividir por todos los números que hay entre 2 y el que interesa estudiar.
y mi codigo es el siguiente:
tiene un error pero no detecto donde si alguien puede ayudarme le agradesco
La mejor forma de saber si un número es primo es dividirlo por todos los números naturales que están entre el 2 y el natural que está después de su raiz cuadrada (en caso de no ser esta entero, si lo fuera ya sabríamos que no es primo). Si la división por alguno de estos da un número entero es que no es primo y de lo contrario si lo es. O sea que si 11 es primo, lo debo dividir por 2, 3 y 4 ya que su raíz está entre 3 y 4.
11/2 = 5.5
11/3 = 3.6666666...
11/4 = 2.75
Como ninguno es entero entonces 11 es primo.
Si se prueba con 12 hay que dividir por 2, 3 y 4 ya que su raíz está también entre 3 y 4.
12/2 = 6
ya puede saberse que no es primo.
Este método funciona para números grandes y facilita el trabajo ya que no hay que dividir por todos los números que hay entre 2 y el que interesa estudiar.
y mi codigo es el siguiente:
Código:
<script language="javascript">
nro = prompt ("ingrese un numero", 0)
if (isNaN (nro) == true){
alert("Ingrece un numero por favor")
}
else{
if (nro %2 == 0){
alert ("Numero no primo")
}
else{
for variable = 2; variable =< (1+(1/^nro));++){
if (variable/nro %2 == 0){
alert ("Numero no primo")
}
}
else{
alert ("Numero primo")
}
}
</script>