Foros del Web » Programando para Internet » Javascript »

Imprimir todos los números primos

Estas en el tema de Imprimir todos los números primos en el foro de Javascript en Foros del Web. Hola!! He conseguido sacar hasta aquí que me imprime el 1 Entonces lo que quiero es que me imprima la lista de los números primos ...
  #1 (permalink)  
Antiguo 15/10/2013, 15:04
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Imprimir todos los números primos

Hola!!

He conseguido sacar hasta aquí que me imprime el 1

Entonces lo que quiero es que me imprima la lista de los números primos inferiores o iguales al valor introducido.

Gracias :)



Código Javascript:
Ver original
  1. var numero = prompt("Introduzca el número:");
  2. if(numero > 0){
  3.         for(var i=1;i<numero;i++){
  4.                 if(numero%i==0){
  5.                             document.write(i);
  6.                     }
  7.             }
  8.     }else   {
  9.         document.write("Es negatiu");  
  10.     }
  #2 (permalink)  
Antiguo 15/10/2013, 15:06
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Imprimir todos los números primos

un numero primo es aquel que solo es divisible entre 1 y si mismo, por lo que primero tienes que hacer la función que te devuelva si un numero introducido es primo y luego el bucle que decremente hasta el 1 para hallar los primos involucrados
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 15/10/2013, 15:13
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Imprimir todos los números primos

Intenta usar esto

PD: Me dio curiosidad veré si lo implemento tambié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.
  #4 (permalink)  
Antiguo 15/10/2013, 15:14
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Imprimir todos los números primos

Vale si lo consigo dejare el código !
  #5 (permalink)  
Antiguo 15/10/2013, 15:37
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Imprimir todos los números primos

Holaa de nuevo

He probado de hacer el for de manera decrecientey me imprime los numeros el problema es que no me imprime solo los primos...xd

Código Javascript:
Ver original
  1. var numero = prompt("Introduzca el número:");
  2. if(numero > 0){
  3.         for(var i=1;i<numero;i++){
  4.                     for(var j= numero;j>0;j--){
  5.                         if(numero%j==0){
  6.                             document.write(j);
  7.                         }
  8.                     }
  9.                 }
  10.     }else   {
  11.         document.write("Es negatiu");  
  12.     }
  #6 (permalink)  
Antiguo 15/10/2013, 18:19
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 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.
  #7 (permalink)  
Antiguo 16/10/2013, 03:59
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Imprimir todos los números primos

EL mio tiene que ser mas simple , vaya curro de codigo ajajaja , sigo sin sacarlo TT'

Etiquetas: primos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:07.