perl:BigInt 计算 斐波那契数列

news/2024/9/23 9:21:18/

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


http://www.ppmy.cn/news/1429631.html

相关文章

【gradle】idea创建的gradle项目每个mudule有多余的iml文件

idea创建的gradle项目每个mudule有多余的iml文件 比如: module_name.iml module_name.main.iml module_name.test.iml 文件&#xff0c;而且每个module都有。 只需要在项目根目录的.idea文件夹下的gradle.xml文件添加<option name"resolveModulePerSourceSet" va…

new[]与delete[]

&#xff08;要理解之前关于new,delete的一些概念&#xff0c;看​​​​​​ CSDN&#xff09; 引子&#xff1a; 相比new&#xff0c;new[]不仅仅是个数的增加&#xff0c;还有int大小记录空间的创建&#xff0c; 下图中错误的用模拟多个new来替代new[]&#xff0c;释放步…

SpringBoot框架——8.MybatisPlus常见用法(常用注解+内置方法+分页查询)

1.MybatisPlus常用注解&#xff1a; 1.1 当数据库、表名和字段名和实体类完全一致时无需加注解&#xff0c;不一致时&#xff1a; TableName指定库名 TableId指定表名 TableField指定字段名 1.2 自增主键&#xff1a; TableId(typeIdType.AUTO) private Long id; 1.3 实体类中属…

JMeter--监听器--聚合报告

聚合报告&#xff08;Aggregate Report&#xff09; 可以查看事务或者取样器在某个时间范围内执行的汇总结果 右键 >>> 添加 >>> 监听器 >>> 聚合报告&#xff08;Aggregate Report&#xff09; Label 样本平均值中位数90% 百分位95% 百分位99% …

4.15报错记录

打开文件时出错a bytes-like object is required,notNoneType 确保E:/data/stdata/st- images-1208-json|ST-WT-1.json是一个有效的标签文件。 今天用X-anylabling更改标签目录时出现这个报错 解决方案&#xff1a;图片文件夹中创建同名的一个文件夹把json文件放进去就可以打…

Java将List平均分成多少份或者按照指定大小进行分割

目录 1. 将List平均分成多少份2. 将List按照每份指定的大小进行分割3. 完整代码示例以及测试 前言&#xff1a;此方法其实就是将一个列表按照指定份数或者指定大小对数据列表进行分割&#xff0c;如果不能整除则会将剩余的放到最后一个数组 1. 将List平均分成多少份 /*** 将Li…

前端开发攻略---合并表格单元格,表格内嵌套表格实现手风琴效果。

1、演示 2、思路 1、用传统的 <table></table> 表格标签来实现比较麻烦。因此通过模拟 表格标签 的写法用<div></div>来实现 2、表头和表格列数是相同的&#xff0c;因此可以确定代码结构 <div class"table"><div class"head…

正确的原因是错误的:可解释的 ML 技术能否检测出虚假相关性?

Right for the Wrong Reason: Can Interpretable ML Techniques Detect Spurious Correlations? 摘要 虽然深度神经网络模型提供了无与伦比的分类性能&#xff0c;但它们容易在数据中学习虚假相关性。如果测试数据与训练数据来自相同的分布&#xff0c;则使用性能指标很难检…