#!/usr/bin/perl -w my $phi = (1+sqrt(5))/2; print "phi = $phi\n"; print "Número de Fibonacci N: "; chomp ($n =); die "Mayor o igual que 1" if $n <1; $fib = (1/sqrt(5))*($phi**$n - (-1/$phi)**$n); print "El término previsto es $fib\n"; use bigint; use Memoize qw(memoize); memoize ( "fib" ); print "El término real es ", fib($n) , "\n"; # $a1 = 0; originalmente 1 # $a2 = 1; sub fib { my $x = shift; return $x if ($x<2); return fib($x-1) + fib($x-2); }