Mi primer script en Perl

8:34 pm Programación

Ya que no hay clases hasta el día miercoles :D, he estado mirando los retos de hckss (http://www.hackerss.com) y decidí resolver el del número PI: http://www.hackerss.com/desafios/vd/1/

El reto dice:

Jugango con PI

En qué consiste

Tenemos el numero PI (3.141592…..) y queremos buscar la primera secuencia de 10 números que sumándo cada uno de sus dígitos de 13.Por ejemplo las primeras tres secuencia::

3,1,4,1,5,9,2,6,5,3
1,4,1,5,9,2,6,5,3,5
4,1,5,9,2,6,5,3,5,8

La primera de 39, la segunda da 41, etc.

Puedes
usar el método que mas se te acomode para calcularlo, la respuesta debe
estar como los ejemplos cada numero separado por comas ( , ) 3,1,4,1,5,9,2,6,5,3

Ayuda (palabras claves)

Ingenio

Enviado por

nekro

Lo que hice para resolverlo fue obvio un script en perl, el primero que hago XD. El código es el siguiente:

#!/usr/bin/perl -W

#Autor: Soul Lost
#Descripcion: Encuentra la primera secuencia de 10 digitos de PI que sumen 13

$suma=0;
$cont=0;

open(DIGITOS,"pi.txt") or die("error, el archivo no se puede abrir");
while(<DIGITOS>){

chomp($_);
for(my $num = 0; $num < length($_); $num++){
$div = substr($_, $num, 1);
if($cont<10){
$suma = $suma + $div;
print $div," ";
$cont++;
}else{
$cont=0;
if($suma == 13){
print "Bingo!!

";
$r=<STDIN>;
if($r eq "ok
"){
next;
}
}
$suma=0;
print "
";
}

}
}
print "
";
close(DIGITOS);

La salida es algo asi:

soullost@UnderHouse ~/perl/examples $ perl pi.pl
2 6 4 3 3 8 3 2 7 9
5 0 2 8 8 4 1 9 7 1
6 9 3 9 9 3 7 5 1 0
5 8 2 0 9 7 4 9 4 4
5 9 2 3 0 7 8 1 6 4
0 6 2 8 6 2 0 8 9 9
8 6 2 8 0 3 4 8 2 5
3 4 2 1 1 7 0 6 7 9
8 2 1 4 8 0 8 6 5 1
3 2 8 2 3 0 6 6 4 7
0 9 3 8 4 4 6 0 9 5
5 0 5 8 2 2 3 1 7 2
5 3 5 9 4 0 8 1 2 8
4 8 1 1 1 7 4 5 0 2

Lógicamente el código no contiene una linea para su funcionamiento correcto :P (pero funciona sin dar la respuesta correcta), por aquellos que les gusta hacer copy+paste 8) (igual se consigue por otro lado xD)…

El archivo que use de los digitos de PI fue este: http://www.geocities.com/tsrmath/pi/df/PI125MDP.ZIP

Cualquier duda/aclaracion/recomendación es bienvenida :D:P.

Nos vemos.
Saludos!!

Califica el tema:
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Temas Relacionados:
  • Script para grabar imagenes de XBOX en GNU/Linux
  • Preparando migración a Wordpress
  • Desinstalar correctamente Adobe Flash CS3
  • Pintura y escultura
  • Apariencia de Vista en Gnome
  • Leave a Comment

    Your comment

    You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

    Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.