perl:BigInt 计算 斐波那契数列

use Math::BigInt; 计算 斐波那契数列(Fibonacci sequence),不受长整型位数限制。

编写 fibonacci.pl 如下

perl 复制代码
#!/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

fib1(365)= 8531073606282249384383143963212896619394786170594625964346924608389878465365

相关推荐
阿沁QWQ1 天前
docker使用
docker·容器·perl
Benszen11 天前
KVM虚拟化技术深度解析
开发语言·perl
历程里程碑20 天前
链表-----
数据结构·线性代数·算法·链表·矩阵·lua·perl
朵朵奇葩向阳开#21 天前
【无标题】
javascript·typescript·ruby·laravel·perl·composer
ZVAyIVqt0UFji25 天前
高可用虚拟IP(HaVip)技术详解:原理、设计与应用
开发语言·网络·网络协议·tcp/ip·perl
老友@1 个月前
云计算的统一心智模型
开发语言·ci/cd·docker·云计算·k8s·perl
普通网友1 个月前
探索Perl在ASIC中的应用:深入标量、数组和哈希的应用
scala·哈希算法·perl
oOOpHQYUKG2 个月前
混合动力汽车交通堵塞时的节能动力总成控制 ##ECMS 混合动力电动汽车有助于节省燃料和实现减...
perl
UseLessQQ2 个月前
2.5云计算python作业
开发语言·python·perl
2601_949146532 个月前
Perl语音通知接口实现:使用Perl脚本快速调用REST API发送语音消息
开发语言·perl