| Category: | Miscellaneous |
| Author/Contact Info | Kurt (sifukurt@yahoo.com) |
| Description: | Ok, so this is something from the Reinventing the Wheel Department. I was playing and ended up churning out a Fibonacci generator. I thought I'd share it here in the hopes that someone would find it useful. As always, comments welcome. Update: Made code modifications as suggested. |
#!/usr/bin/perl
#--------------------------------------------------------------------#
#Fibonacci Generator
# Date Written: 22-Jul-2001 10:12:09 AM
# Last Modified: 13-Aug-2001 10:06:30 AM
# Author: Kurt Kincaid
#
# This is free software and may be redistributed under the
# same terms as Perl itself.
#--------------------------------------------------------------------#
use Getopt::Std;
use Math::BigInt;
$| = 1;
$VERSION = "1.2";
$x = Math::BigInt->new(1);
$y = Math::BigInt->new(2);
getopts("ch");
$\= $opt_c ? "\n" : " ";
if ( $opt_h ) {
print <<END;
Fibonacci Generator v$VERSION
Usage: $0 [-ch] [number]
-c\tPrint output in a single column (default is rows)
-h\tPrint help text (what you're reading now)
Include how many numbers in the sequence you want,
otherwise it defaults to 100.
END
exit;
}
my $stop = shift || 100;
print $x;
print $y;
for ( 3 .. $stop ) {
( $x, $y ) = ( $y, $x+$y );
print $y;
}
|
|
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Fibonacci Generator
by Hofmator (Curate) on Aug 10, 2001 at 19:21 UTC | |
by sifukurt (Hermit) on Aug 10, 2001 at 19:50 UTC | |
by John M. Dlugosz (Monsignor) on Aug 11, 2001 at 07:16 UTC | |
|
Re: Fibonacci Generator
by ariels (Curate) on Aug 12, 2001 at 13:16 UTC | |
by sifukurt (Hermit) on Aug 13, 2001 at 19:07 UTC | |
by ozone (Friar) on Aug 18, 2001 at 23:09 UTC | |
|
Re: Fibonacci Generator
by PERLscienceman (Curate) on Jul 06, 2003 at 04:27 UTC | |
by Anonymous Monk on May 26, 2007 at 10:02 UTC | |
by blazar (Canon) on May 26, 2007 at 13:05 UTC | |
by Anonymous Monk on Dec 06, 2009 at 03:48 UTC | |
|
Re: Fibonacci Generator
by neosamuri (Friar) on May 27, 2007 at 05:49 UTC |