Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Dr Cray-- en 5 Noviembre 2009, 00:42 am



Título: localizar números primos. [bash]
Publicado por: Dr Cray-- en 5 Noviembre 2009, 00:42 am
Buenas a todos , sera posible la localizacion de un numero determinado de numeros primos mediante un pequeño script tipo bash para gnu linux o algo asi .?

es decir que el script me pueda averiguar los primeros 26 numeros primos .

solo por pura curiosidad.
gracias.


Título: Re: localizar números primos. [bash]
Publicado por: leogtz en 5 Noviembre 2009, 04:17 am
Mmmm, se podría hacer algo así:

Código
  1. #!/usr/bin/bash
  2. # Script que comprueba los n primeros números.
  3. # Cicla hasta que el usuario introduzca algo:
  4. read -p "Numero de primos : " numero
  5. until [ $numero ]
  6. do
  7. read -p "Numero : " numero
  8. done
  9. let _contador="1"; # Lleva la cuenta de los numeros primos encontrados.
  10. let contador="1";
  11. while [ $_contador -le $numero ]
  12. do
  13. # Proceso primo :
  14. let divisores="0";
  15. for i in $(seq 1 $contador);
  16. do
  17.  
  18. if [ `expr $contador % $i` -eq 0 ]
  19. then
  20. let divisores+="1";
  21. fi
  22. done
  23. if [ $divisores -eq 2 ]
  24. then
  25. echo -e "$_contador : $contador";
  26. let _contador+="1";
  27. fi
  28. let contador+="1";
  29. done

Salida:
Código:
leo@lein:~/Escritorio$ bash shell.sh
Numero de primos : 10
1 : 2
2 : 3
3 : 5
4 : 7
5 : 11
6 : 13
7 : 17
8 : 19
9 : 23
10 : 29
leo@lein:~/Escritorio$ bash shell.sh
Numero de primos : 5
1 : 2
2 : 3
3 : 5
4 : 7
5 : 11
leo@lein:~/Escritorio$ bash shell.sh
Numero de primos : 13
1 : 2
2 : 3
3 : 5
4 : 7
5 : 11
6 : 13
7 : 17
8 : 19
9 : 23
10 : 29
11 : 31
12 : 37
13 : 41
leo@lein:~/Escritorio$


Título: Re: localizar números primos. [bash]
Publicado por: Dr Cray-- en 5 Noviembre 2009, 21:51 pm
caramba, me ha funcionado como anillo al dedo.
 me ha servido bastante .

gracias LEO   se agradece :D


Título: Re: localizar números primos. [bash]
Publicado por: Selecta503 en 13 Febrero 2012, 03:50 am
quien me proporciona un codigo  script en bash que empiece con cualquier número entero positivo. Si el
número es par divídalo entre 2; y si es impar multiplique por 3 y aumente en uno (+1).
Obténgase enteros positivos repitiendo el proceso hasta llegar a 1.  Es decir por   Ejemplo si empezamos en 5 la serie sería: 5, 16, 8, 4, 2, 1.

de ante mano se les agradece