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 originalvar num = prompt("Escribe un numero");
if( num != '' && !isNaN(num) ){
if(num >= 0){
var sqrtNum = Math.ceil( Math.sqrt(num) );
var criba = new Array();
for ( var i=4; i < num; i+=2 ) {
criba[i] = true;
}
for ( var i=3; i<=sqrtNum; i+=2 ) {
if( !criba[i] ){
for ( var j=i*i; j < num; j+=2*i ) {
criba[j] = true;
}
}
}
for( var k = 2; k < num; k++ ){
if( !criba[k] ){
document.write( k + '<br>' );
}
}
}else{
alert('Negativo');
}
}
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