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

相关推荐
李子琪。1 天前
谷歌“三剑客”与云计算基石:GFS、MapReduce、Bigtable 全栈解析及私有云落地实践
开发语言·编辑器·perl
元直数字电路验证6 天前
云计算实验笔记(一):IaaS 与虚拟化全景 —— 从 VirtualBox 到云上 EC2 的完整映射
笔记·云计算·perl
腾视科技AI8 天前
什么是AI算力模组?
人工智能·科技·perl·ai算力模组·ai模组·ai边缘算力模组
Benszen9 天前
KVM虚拟化解决方案
开发语言·perl
猫头虎-前端技术13 天前
JS 作用域与闭包:从变量提升到闭包陷阱的超详细解析
开发语言·javascript·云计算·bootstrap·ecmascript·openstack·perl
HEADKON14 天前
康奈非尼LuciEncor常见副作用为关节痛疲劳及皮疹光敏反应
perl
互联科技报21 天前
2026超融合选型:Top5品牌与市场格局解读
开发语言·perl
hhb_6181 个月前
Perl脚本自动化日志分析与数据批量处理实操案例
开发语言·自动化·perl
sghuter2 个月前
AI重塑工程师:未来核心能力全景图
开发语言·perl·composer·symfony
A-刘晨阳2 个月前
当数据学会“秒回“:工业4.0时代的实时计算革命
开发语言·数据库·perl