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  (2075)
  • LimpiaDocus
    LimpiaDocus001.exe  (1793)
  • RCM
    rcm001.zip  (1660)
  • Popmail
    popmail-0.4-psmn.tar.gz  (1712)
  • Manual de Delphi en PDF
    delphi_pdf.zip  (2210)
  • Evangelio del Perl
    Evangelio_del_perl.pdf  (1823)
  • Excel Simpsons
    Excel Simpsons  (1865)
  • . . .

    Últimos comentarios

  • 803 - nata: Muy buena la traduccion, pero creo que en vez de...
  • 358 - maximiliano : dios castigue al puto que invento proteccion contra escritura jajaja...
  • 358 - leonardo: :( :x tengo un...
  • 803 - Anonimo: amy es lo mejor que ha dado la musica en...
  • 358 - gregory: Ustedes los son unos mamañemoide del planeta mamañema. Estan casado...
  • 707 - miguel cervera: La liga si está correcta, utilicen la diagonal invertida ...
  • . . .

    Recomiendo

  •  Mozilla Firefox 
    DIR (567)
  •  Mozilla Thunderbird 
    DIR (535)
  • KLite 
    klmcodec375.exe (96)
  •  Emule 
    DIR (506)
  •  Knoppix 
    DIR (426)
  •  Knoppix en español (DVD) 
    DIR (767)
  •  Mldonkey 
    DIR (485)
  •  Nucleo linux 
    DIR (486)
  •  Parche linux 
    DIR (486)

    . . .
  • 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  (600), cacheando webs
  •  Spam.la  (691), correo de usar y tirar
  •  Mailinator  (681), correo de usar y tirar
  •  Bug me not  (631), absurdos registros di NO
  •  Trashmail  (624), 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.07111s, con 1657119 visitas en total, hoy 917 (de un total de 1073 previstas).

    . . .