Este artículo muestra varias rutinas javascript relacionadas con los números primos.
Se tendrá en cuenta que los números primos solamente son divisibles por uno y por si mismos. Además, se utilizará el operador %, módulo o resto, para determinar si un número divide o no a otro, puesto que si el resultado de la operación % da cero es divisible y en otro caso no.
Utilizando las técnicas aquí empleadas usted podría, por ejemplo, desarrollar un script que calculara los 123, los 405 o los 1000 primeros números primos. Anímese, será divertido. Por mi parte quedará para un segundo artículo que trate de este tema.
Indice.
1.- Divisores de un número dado.
Prueba del script
Código de la función numDivisores()
<script type="text/javascript">
function numDivisores(){
//inicia contador temporal
var start = new Date().getTime();
// recoge el número introducido por el usuario
var p=document.formulario1.numero.value;
// array que almacenará los divisores encontrados
var arrDivisores = [];
// bucle buscador de divisores
for ( j = 1; j<=p ; j++){
// si el resto de la división es cero
if ( p%j == 0){
// añadimos al array de los divisores
arrDivisores.push(j);
}
}
// finaliza el contador temporal
var finish = new Date().getTime();
// calcula el tiempo de ejecución del script
var tiempoEmpleado = finish - start;
// presenta los resultados: tiempo, número de elementos del array
// y los elementos del array
document.formulario1.tiempo.value = tiempoEmpleado + " mseg.";
document.formulario1.numdiv.value = arrDivisores.length;
document.formulario1.resultado.value = arrDivisores.join(", ");
}
</script>
2.- Encontrar todos los primos entre 2 números dados.
3.- ¿Es N un número primo?.