Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Created August 8, 2019 01:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parzibyte/78e6af358cf9ad8e0ab30972b7553608 to your computer and use it in GitHub Desktop.
Save parzibyte/78e6af358cf9ad8e0ab30972b7553608 to your computer and use it in GitHub Desktop.
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Calcular número primo sin Web Workers</title>
</head>
<body>
<h1>Vamos a esperar a que el cálculo termine</h1>
<p>El botón de abajo es para demostrar que NO podemos hacer click porque SÍ es código bloqueante</p>
<button>Soy un botón y NO puedes hacerme click mientras se trabaja</button>
<p id="resultados">Aquí aparecerá el mensaje</p>
</body>
<script>
//Este setTimeout es para esperar 2 segundos antes de ejecutar todo el código de abajo
// De esta forma demostramos que primero todo va bien pero luego la interfaz "se congela"
window.setTimeout(function(){
var limite = 150000; // Lo definimos desde aquí
var mayorEncontradoHastaElMomento = 0; // Aquí guardaremos el mayor
function esPrimo(numero) {
for (var i = 2; i < numero; i++) {
if (numero % i === 0) {
return false;
}
}
return numero !== 1;
}
for(var x = 0; x < limite; x++){
if(esPrimo(x)){
mayorEncontradoHastaElMomento = x;
}
}
var elemento = document.querySelector("#resultados"); // Obtener el párrafo
//Escribir el resultado
elemento.innerHTML = "Hola. El número primo más grande menor que " + limite.toString() + " es " + mayorEncontradoHastaElMomento.toString();
}, 2000);
</script>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment