use Math::BigInt; 計算 斐波那契數(shù)列(Fibonacci sequence),不受長整型位數(shù)限制。
編寫 ?fibonacci.pl ?如下
#!/usr/bin/perl
use strict;
use warnings;
use Math::BigInt;
sub bigint { Math::BigInt->new(shift); }
# 定義一個子程序來計算Fibonacci數(shù)列的第n個數(shù)字
sub fibonacci {
my ($n) = @_;
my $x = bigint(0);
my $y = bigint(1);
while($n >0){
($x, $y) = ($y, $x+$y);
$n--;
}
return $x
}
# 獲取用戶輸入
print "請輸入一個正整數(shù): ";
chomp(my $n = <STDIN>);
# 檢查輸入是否為正整數(shù)
if ($n !~ /^\d+$/) {
print "錯誤:輸入必須是正整數(shù)。\n";
exit 1;
}
# 計算并輸出Fibonacci數(shù)列的第n個數(shù)字
my $number = fibonacci(int($n));
print "fibonacci($n)= $number\n";
#print "Fibonacci數(shù)列的第$n個數(shù)字是: $number\n";
運(yùn)行 perl??fibonacci.pl
請輸入一個正整數(shù): 365
fibonacci(365)= 8531073606282249384383143963212896619394786170594625964346924608389878465365
用 python 校驗(yàn),以上結(jié)果正確:
python?fibonacci.py 365文章來源:http://www.zghlxwxcb.cn/news/detail-860209.html
fib1(365)= 8531073606282249384383143963212896619394786170594625964346924608389878465365文章來源地址http://www.zghlxwxcb.cn/news/detail-860209.html
到了這里,關(guān)于perl:BigInt 計算 斐波那契數(shù)列的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!