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

相关推荐
逗豆逗7 天前
perl的学习记录——仿真regression
开发语言·学习·perl
子非鱼10 天前
OpenStack概论和部署
linux·运维·开发语言·centos·perl
时钟树上的小猴子24 天前
perl——获取数组中元素的索引
perl
MavenTalk25 天前
那些久远的开发语言(COBOL、Pascal、Perl等)还有市场吗
开发语言·perl·pascal·basic·cobol
鹿屿二向箔1 个月前
Perl(Practical Extraction and Reporting Language)脚本
perl
深兰科技1 个月前
深兰科技创始人陈海波入选“2024先锋科创家?硬科技商业先锋榜”
javascript·人工智能·r语言·perl·symfony·深兰科技
kuio88881 个月前
根据《广东省制造业高质量发展促进条例》规定,支持___ 投资制造业领域,加强技术改造与创新。
javascript·python·r语言·c#·perl·symfony
夜色呦1 个月前
Perl套接字编程指南:构建网络通信应用
开发语言·perl
Мартин.1 个月前
[Meachines] [Easy] shocker CGI-BIN Shell Shock + Perl权限提升
开发语言·perl
CopyLower1 个月前
深入讲解云计算
开发语言·云计算·perl