perl:BigInt 计算 斐波那契数列

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

编写  fibonacci.pl  如下

#!/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. Matlab定义函数计算数列

    2024-04-25 08:44:01       51 阅读
  2. C#:用 BigInteger 计算 数列

    2024-04-25 08:44:01       39 阅读
  3. perl:BigInt 计算 数列

    2024-04-25 08:44:01       38 阅读
  4. 【c++】数列

    2024-04-25 08:44:01       46 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-25 08:44:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-25 08:44:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-25 08:44:01       82 阅读
  4. Python语言-面向对象

    2024-04-25 08:44:01       91 阅读

热门阅读

  1. 学习STM32第十八天

    2024-04-25 08:44:01       35 阅读
  2. MySQL中like关键字与索引的使用

    2024-04-25 08:44:01       157 阅读
  3. SQL中PIVOT函数的用法

    2024-04-25 08:44:01       93 阅读
  4. Vue入门

    Vue入门

    2024-04-25 08:44:01      37 阅读
  5. 基于vscode的c++开发(Windows)

    2024-04-25 08:44:01       74 阅读