use Math::BigInt; 计算 斐波那契数列(Fibonacci sequence),不受长整型位数限制。
编写 fibonacci.pl 如下
#!/usr/bin/perl
use strict;
use warnings;
use Math::BigInt;
sub bigint { Math::BigInt->new(shift); }
# 定义一个子程序来计算Fibonacci数列的第n个数字
sub fibonacci {
my ($n) = @_;
my $x = bigint(0);
my $y = bigint(1);
while($n >0){
($x, $y) = ($y, $x+$y);
$n--;
}
return $x
}
# 获取用户输入
print "请输入一个正整数: ";
chomp(my $n = <STDIN>);
# 检查输入是否为正整数
if ($n !~ /^\d+$/) {
print "错误:输入必须是正整数。\n";
exit 1;
}
# 计算并输出Fibonacci数列的第n个数字
my $number = fibonacci(int($n));
print "fibonacci($n)= $number\n";
#print "Fibonacci数列的第$n个数字是: $number\n";
运行 perl fibonacci.pl
请输入一个正整数: 365
fibonacci(365)= 8531073606282249384383143963212896619394786170594625964346924608389878465365
用 python 校验,以上结果正确:
python fibonacci.py 365文章来源:https://www.toymoban.com/news/detail-860209.html
fib1(365)= 8531073606282249384383143963212896619394786170594625964346924608389878465365文章来源地址https://www.toymoban.com/news/detail-860209.html
到了这里,关于perl:BigInt 计算 斐波那契数列的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!