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

相关推荐
想做富婆5 天前
Strawberry perl的下载,查询版本号,配置Path环境变量,查找perl解释器的位置
开发语言·perl
空气中的臭氧7 天前
解决orzdba采集数据库性能指标不全的问题
数据库·perl·orzdba
敖云岚19 天前
【云原生技术】容器技术的发展史
开发语言·云原生·perl
为什么要做囚徒21 天前
Centos离线安装perl
linux·运维·centos·perl
weifexie23 天前
perl、python、tcl语法中读写Excel的模块
linux·python·excel·perl·tcl
ALPH_25 天前
R语言的基础命令及实例操作
开发语言·数据分析·r语言·perl·r语言-4.2.1
ALPH_1 个月前
GEO数据挖掘
java·数据挖掘·数据分析·r语言·perl·r语言-4.2.1
belldeep1 个月前
Perl 调用 DeepSeek API 脚本
api·perl·deepseek
深兰科技2 个月前
深兰科技与银川市苏银产业园签署协议,共建AI装备西部产业基地
java·javascript·人工智能·机器学习·perl·symfony·深兰科技
Мартин.2 个月前
[Meachines] [Easy] Nunchucks Express Nodejs SSTI+AppArmor Bypass+Perl权限提升
开发语言·express·perl