2015-02-19から1日間の記事一覧

[プログラム][perl]一般項で求めるパターンのフィボナッチ関数

#!/usr/bin/perl -w use strict; use bignum; my ($max) = @ARGV; my $r5 = 5**0.5; my $phy = (1+$r5)/2; my $fib = ($phy**$max - ((-$phy)**(-$max))) / $r5; print "$fib\n"; やはりこちらも大きな数値を食わすと正しい値を返さなかったりする。

これは先程のより前に書いた、コードのシンプルだけど大きい桁まで求められないフィボナッチ関数。

#!/usr/bin/perl -w use strict; use bigint; sub fib{ my ($n) = @_; $n <= 1 ? 1 : fib($n-2)+fib($n-1) } my $f = fib(@ARGV); print "$f\n"; やはり大きな数値を求められないのでは実用性に欠ける…(なんの実用性?)。 またまだバグっているためまた今…