Ver Mensaje Individual
  #6 (permalink)  
Antiguo 15/10/2013, 18:19
Avatar de jonni09lo
jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 13 años, 2 meses
Puntos: 397
Respuesta: Imprimir todos los números primos

Mmm después de luchar un buen rato con las funciones, mi función en javascript quedo de la siguiente manera (a partir de números mayores al millón empieza a consumir recursos)

Código Javascript:
Ver original
  1. var num = prompt("Escribe un numero");
  2. if( num != '' && !isNaN(num) ){
  3.     if(num >= 0){
  4.         var sqrtNum = Math.ceil( Math.sqrt(num) );
  5.         var criba = new Array();
  6.         for ( var i=4; i < num; i+=2 ) {
  7.             criba[i] = true;
  8.         }
  9.         for ( var i=3; i<=sqrtNum; i+=2 ) {
  10.            
  11.             if( !criba[i] ){
  12.                 for ( var j=i*i; j < num; j+=2*i ) {
  13.                     criba[j] = true;
  14.                 }
  15.             }
  16.         }
  17.         for( var k = 2; k < num; k++ ){
  18.             if( !criba[k] ){
  19.                 document.write( k + '<br>' );
  20.             }
  21.         }
  22.     }else{
  23.         alert('Negativo');
  24.     }
  25. }

Esta función esta optimizada de la criba de Eratóstenes, aún me es difícil tratar de acoplar la criba de Atkin (habría que desempolvar libros de matemáticas ) igual esta es una buena base, si en algún momento logras hacer funcionar (o hasta que yo de con el chiste) sería interesante que compartas tu solución

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.