perl:BigInt 计算 斐波那契数列

embedded/2024/9/23 6:50:50/

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/embedded/4321.html

相关文章

Stable Diffusion教程:LoRA模型

LoRA模型是一种微调模型&#xff0c;它不能独立生成图片&#xff0c;常常用作大模型的补充&#xff0c;用来生成某种特定主体或者风格的图片。 下载模型 在模型下载网站&#xff0c;如果模型是LoRA模型&#xff0c;网站会特别标识出来。以 liblib.ai为例&#xff1a; 模型左…

将 Notepad++ 添加到右键菜单

目录 方式一&#xff1a;添加注册表&#xff08;手动&#xff09; 方式二&#xff1a;添加注册表&#xff08;一键添加&#xff09; 有时安装了notepad后&#xff0c;在txt文件上右键&#xff0c;在弹出的菜单栏中没有【通过 Notepad 打开】&#xff0c;如下&#xff1a; 这…

MoJoCo 入门教程(七)XML 参考

系列文章目录 前言 表格第二列中的符号含义如下&#xff1a; ! 必填元素&#xff0c;只能出现一次 ? 可选元素&#xff0c;只能出现一次 * 可选元素&#xff0c;可多次出现 R 可选元素&#xff0c;可递归出现多次 一、简介 本章是 MuJoCo 中使用的 MJCF 建模语言的参考手册。…

.NET JWT入坑

目录 ✨ 建立项目jwttest 1.创建TestJwtController 2.下载JWT 3.建实体类 4.添加post login 5.登录验证 6.测试没问题&#xff0c;写个JwtHelper 7.添加token加密类 8.测试JWT ⭐️JwtBearer 9、添加NuGet包Microsoft.AspNetCore.Authentication.JwtBearer 10、在…

Elasticsearch(2)

目录 121.ES查询中match和term的区别? 122.Es查询中should和must的区别? 123.ES查询中match,match_phrase和match_phase_prefix有什么区别? 124.ES查询中什么是复合查询?有哪些复合查询方式?

Rust常见陷阱 | 线程间传递消息导致主线程无法结束

在多线程编程中,线程之间的通信是一个不可或缺的话题。尤其是在Rust语言中,由于其特有的所有权机制,线程通信需要更加仔细地处理。本文将深入讨论使用Rust标准库中的消息通道时如何避免主线程被阻塞的问题,并提供详尽的代码示例来辅助理解。 问题描述 当我们在Rust中使用…

基于springboot实现教学辅助平台系统项目【项目源码+论文说明】

基于springboot实现教学辅助平台系统演示 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了教学辅助平台的开发全过程。通过分析教学辅助平台管理的不足&#xff0c;创建了一个计算机管理教学辅助平台的方案。文…

有没有批量调节音乐播放速度的方法?调节音频的播放速度

一&#xff0c;引言​ 调节音乐播放的速度是一种有趣而富有创造性的方式&#xff0c;可以改变我们对音乐的感知和体验。通过调整音乐的速度&#xff0c;我们可以创造出全新的听觉效果&#xff0c;让音乐呈现出不同的情感和氛围。二&#xff0c;调节音乐速度的效果 调节音乐速…