フィボナッチ数
「プログラマの数学」を読んでいて、再帰のところでフィボナッチ数列が出てきたので、フィボナッチ数を求めるプログラムをPerlで書いてみました。
フィボナッチ数については、フィボナッチ数 - Wikipediaを参照してください。
#!/usr/bin/perl use strict; use warnings; sub fibo { my $n = shift; my $fibo; if ($n == 0) { $fibo = 0; } elsif ($n <= 2) { $fibo = 1; return $fibo; } else { $fibo = &fibo($n - 1) + &fibo($n - 2); return $fibo } } my $n = shift; die "invalid value $n\n" if ($n < 0); print &fibo($n), "\n"; __END__
「プログラマの数学」にでてくる「増えていく生物」問題(P.159)を、上記プログラムを使って解いてみます。
$ ./fibonacci.pl 11 89
11日目には、全部で89匹になります。
あらためて、フィボナッチ数列って面白い数列だなぁと思いました。