Generando números primos

Por Saiyine  el 2005-09-18 23:28:00 - Secciones:  PERL  - Enlace permanente: 558

Para un experimento, necesitaba una lista bastante larga de números primos, lo que me indujo a hacer este programita en perl.

El script es realmente simple, y practicamente no usé ningún truco para acelerar la generación de primos salvo el empezar con una lista de ocho o nueve precalculados.

Los números generados son guardados en un txt que es reaprovechado la siguiente vez que se ejecuta el programa, que por cierto acepta como parametro cuantos primos queremos calcular.

Y sin más preambulos, el código:

#!/usr/bin/perl

if (-e "primos.txt")
{
  open (f1,"primos.txt");
  @leido=<f1>;
  close(f1);
  foreach $l ( @leido )
  {
    if ($l > 0)
    {
      push (@primos, $l*1);
    }
  }
} else
{
  @primos = (2,3,5,7,11,13,17,19);
}

$a = pop (@primos);
push (@primos, $a);

if ( $ARGV[0]==0 )
{
  $tope=1;
} else
{
  $tope=$ARGV[0];
}

$cuenta=0;
do
{
  $primo = "Si";
  foreach $p (@primos)
  {
    if ( $a % $p == 0 ) 
    {
      $primo = "No";
      break;
    }
  }
  if ( $primo eq "Si" )
  {
    $cuenta++;
    print "[ $a ] $cuenta\n";
    push (@primos, $a);
  }
  $a=$a+1;
}
while ($cuenta<$tope);

open (f1,">primos.txt");
foreach $i ( @primos )
{
  print f1 "$i\n";
}
close(f1);

982 
Anonimo (2007-02-23 11:58:57)

primos

yayis (2007-04-09 12:20:44)

escribir uin algoritmo que dados dos numeros enteros a y b talque a<=b ,indicar que todos los numeros comprendidos entre a y b pueden expresarsen como suma de sos numeros primos ejem:
a=5 yb=8 verdadero dado que 5=2+3 y 8 =3+5
afradesco a la persona queme allude a realizarlo


Tu nombre (Nick):

Tu correo (Email):
  Necesario para tu gravatar!

Tu página (URL):

Escribe aqui tu comentario:

       :noworry: :roll: :huh: :push: ¬¬ :OO 8) 8O :( :) :? :D :P :o :x :| ;) ^^ xD



Vista previa activada.

Vista previa (6/6/6, 6:66)


Patrocinadores

Saiyine recommends the easiest way to earn money with your web: get paid just by having some links! Click this button to check it out.

Text Link Ads

. . .

Descargas

  • ApagaPC
    apagapc241.exe  (2080)
  • LimpiaDocus
    LimpiaDocus001.exe  (1798)
  • RCM
    rcm001.zip  (1666)
  • Popmail
    popmail-0.4-psmn.tar.gz  (1716)
  • Manual de Delphi en PDF
    delphi_pdf.zip  (2214)
  • Evangelio del Perl
    Evangelio_del_perl.pdf  (1833)
  • Excel Simpsons
    Excel Simpsons  (1872)
  • . . .

    Últimos comentarios

  • 358 - _luuppss: disculpa :) en mi usb se pone...
  • 352 - chucho: Buenas tardes. Podrían ayudarme.? Mi máquina tiene windows XP. Tengo el...
  • 371 - Saiyine: Ya es demasiado tarde, hubiera sido un buen negocio comprar...
  • 707 - EMILIANO: MUY BUEN APORTE!!!!! ME FUNCIONO 10 PUNTOS. GRACIAS
  • 371 - ROSEMARY: hola estube mirando tu pagina y me parece muy interesante...
  • 803 - CAPELU: NADA D LO Q DIGAN LOS QUE NO LA QUIEREN,...
  • . . .

    Recomiendo

  •  Mozilla Firefox 
    DIR (572)
  •  Mozilla Thunderbird 
    DIR (544)
  • KLite 
    klmcodec375.exe (99)
  •  Emule 
    DIR (511)
  •  Knoppix 
    DIR (430)
  •  Knoppix en español (DVD) 
    DIR (771)
  •  Mldonkey 
    DIR (489)
  •  Nucleo linux 
    DIR (490)
  •  Parche linux 
    DIR (490)

    . . .
  • Proyectos online

  • Saiyine Store
  • Kunowalls!!!
  • Fondos de pantalla
  • Picaday: imagenes sexys o chocantes.
  • Scarlett: fotos de Scarlett Johansson
  • WhatsmyIP: obtener tu IP pública
  • Uma Thurman: galeria de Uma Thurman
  • FunPics: imagenes graciosas
  • . . .

    Blogs

  • Por lo que más querais, no entreis a estos: Tapanez, Yhandros, Onez.

  • Otros en español: Chavalina, Testosterona, Kirai, Wardog y el mundo, Mundo Geek, Microsiervos.

  • Mis lecturas en guiri: Coding Horror, MySQL Performance, Slashdot.

    . . .
  • Utilidades

  •  Coral  (606), cacheando webs
  •  Spam.la  (696), correo de usar y tirar
  •  Mailinator  (687), correo de usar y tirar
  •  Bug me not  (636), absurdos registros di NO
  •  Trashmail  (627), correo de usar y tirar

    . . .
  • FAQ

  • ¿MlDonkey para windows?
    Pues si, ya hay un port, y lo podeis encontrar aqui.
  • ¿Imagenes del universo?
    Puesss, mi favorita es astrored, aunque debe haber muchas similares.
  • ¿Drivers para voodoo?
    Probad aqui para la voodoo 3.
  • . . .

    Mis wikis

  • Gravastar, VirtualDub, Samuel Eilenberg

    Se suspenden las traducciones de la wikipedia hasta que no se aclaren las condiciones de su adquisición práctica por parte de google.

    . . .
  • Página web ©2001-2008 Saiyine generada en 0.03455s, con 1669877 visitas en total, hoy 639 (de un total de 1202 previstas).

    . . .