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 天前
云计算数据加密选型:合规要求(GDPR / 等保)下的方法选择
开发语言·云计算·perl
weixin_395448913 天前
draw_tensor2psd.py_cursor
lua·perl·symfony
huizhixue-IT7 天前
2026年还需要学习RHCE 吗?
开发语言·perl
m0_7482546612 天前
Perl 变量类型
spark·scala·perl
mzhan01722 天前
perl: redhat9, perl-interpreter.rpm 一个包分成很多个小包
开发语言·perl·redhat·rpm
千里马-horse1 个月前
BigInt
开发语言·bigint·napi·addon
无限大.1 个月前
为什么“云计算“能改变世界?——从本地计算到云端服务
开发语言·云计算·perl
源文雨1 个月前
PVE实现USB硬盘盒在备份前自动上电/结束后自动断电脚本
linux·运维·服务器·备份·perl·pve·usb硬盘盒
凯新生物1 个月前
聚乙二醇二生物素,Biotin-PEG-Biotin在生物检测中的应用
scala·bash·laravel·perl
柒儿吖1 个月前
Perl在鸿蒙PC上的使用方法
开发语言·harmonyos·perl