斐波那契数列数列系列问题详解

news2024/11/16 21:58:26

 斐波那契数列数列是我们学习递归的入门问题,是一种非常经典的题型,也衍生出了一些更复杂的题型,这一节就让我们彻底理解斐波那契数列系列问题。

一、概念介绍

1、什么是斐波那契数列?

斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N)

2、怎么定义斐波那契数列

斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,34,55,89…
递推公式
斐波那契数列:1,1,2,3,5,8,13,21,34,55,89…
斐波纳契数列以如下被以递归的方法定义:
f[0] = 0, f[1] = 1;f[n] = f[n -1] + f[n - 2](n >= 2)
这个数列从第三项开始,每一项都等于前两项之和。
显然这是一个线性递推数列。

4、斐波那契数列系列问题详解

最入门的斐波那契数列问题

分析题意:是最基本的斐波那契数列问题,问的就是第n个斐波那契数列的值是多少并且输出出来。
根据我们的递推方程 : f[0] = 0, f[1] = 1;f[n] = f[n -1] + f[n - 2](n >= 2)即可求出 

递归示意图:

 

1. 递归。该递归属于多分支递归,会造成栈溢出。

//递归
#include<stdio.h>

int Fib(int n)
{
	if (n == 1 || n == 2)//数列前两项
	{
		return 1;
	}
	else//从第三项开始
	{
		return Fib(n - 1) + Fib(n - 2);
	}
	return 0;
}
int main()
{
	int n = 0;
	scanf("%d", &n);//输入一个数
	int ret = Fib(n);//计算斐波那契数列
	printf("%d\n", ret);//打印结果
	return 0;
}

2)非递归。非递归较递归效率更高,避免了重复计算的时间和空间。 

//非递归
int main()
{
	int n = 0;
	printf("请输入一个整数:");
	scanf("%d", &n);
	if (n == 1 || n == 2) {
		return 1;
	}
	else {
		int f1 = 1;
		int f2 = 1;
		int f3 = -1;
		for (int i = 3; i <= n; i++) {
			f3 = f1 + f2;
			f1 = f2;
			f2 = f3;
		}
		printf("该整数的Fib数列为%d", f3);
	}

	return 0;
}

3)数组。 

	//数组法	
#include<stdio.h>

int Fib(int n)
{
	int i;
	int arr[100] = { 0,1,1 };
	for (i = 2; i <= n; i++)//从第一项开始
	{
		arr[i] = arr[i - 1] + arr[i - 2];
	}
	return arr[n];
}
int main()
{
	int n;
	scanf("%d", &n);
	printf("%d", Fib(n));
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1242856.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

手持式无线通信频谱分析仪 MS2713E

MS2713E 手持式无线通信频谱分析仪 安立手持式无线通信频谱分析仪 MS2713E 旨在处理最恶劣的现场条件&#xff0c;使您能够监控、定位、识别和分析各种蜂窝、2G/3G/4G、陆地移动无线电、Wi-Fi 和广播信号。多功能 Spectrum Master 在定位和识别宽频率范围内的信号时&#xff0…

第7章-使用统计方法进行变量有效性测试-7.4.2-多元线性回归

目录 多元线性回归模型 总体回归函数 样本回归函数 线性回归模型的假定 普通最小二乘法&#xff08;Ordinary Least Squares&#xff0c;OLS&#xff09; 拟合优度指标 F检验 回归系数的t检验 Python中构建多元线性回归模型 数据理解 数据读取 数据清洗 相关分析 …

短视频账号矩阵系统saas化批量管理部署搭建/技术

一、短视频矩阵系统建模----技术api接口--获取用户授权 技术文档分享&#xff1a; 本系统采用MySQL数据库进行存储&#xff0c;数据库设计如下&#xff1a; 1.用户表&#xff08;user&#xff09;&#xff1a; - 用户ID&#xff08;user_id&#xff09; - 用户名&#xff08;…

快来考试拿证书!KubeSphere 个人技能专业考试认证上线啦!

以容器技术和容器编排为基础的云原生应用&#xff0c;被越来越多的企业用户接受和使用&#xff0c;并且在生产环境中使用容器技术的比例逐年增加。Kubernetes 无疑已经成为容器编排的事实基础&#xff0c;而依托于 Kubernetes 开发的开源容器平台 KubeSphere 也收获了一众拥趸。…

2023 年 亚太赛 APMCM (A题)国际大学生数学建模挑战赛 |数学建模完整代码+建模过程全解全析

当大家面临着复杂的数学建模问题时&#xff0c;你是否曾经感到茫然无措&#xff1f;作为2022年美国大学生数学建模比赛的O奖得主&#xff0c;我为大家提供了一套优秀的解题思路&#xff0c;让你轻松应对各种难题。 完整内容可以在文章末尾领取&#xff01; 问题1 图像处理&am…

使用支付宝的沙箱环境在本地配置模拟支付并发布至公网调试

文章目录 前言1. 下载当面付demo2. 修改配置文件3. 打包成web服务4. 局域网测试5. 内网穿透6. 测试公网访问7. 配置二级子域名8. 测试使用固定二级子域名访问9. 结语 前言 在沙箱环境调试支付SDK的时候&#xff0c;往往沙箱环境部署在本地&#xff0c;局限性大&#xff0c;在沙…

全国传统村落数据总览,shp/csv格式,中国哪些区域传统村落最多呢?

传统村落是指拥有物质形态和非物质形态文化遗产&#xff0c;具有较高的历史、文化、科学、艺术、社会、经济价值的村落。 今天我们分享全国传统村落数据&#xff0c;对全国范围内的传统村落进行统计和分析。 该数据是shpcsv格式的&#xff0c;几何类型为点&#xff0c;2020年…

深度学习模型训练计算量的估算

深度学习模型训练计算量的估算 方法1&#xff1a;基于网络架构和批处理数量计算算术运算次数前向传递计算和常见层的参数数量全连接层&#xff08;Fully connected layer&#xff09;参数浮点数计算量 CNN参数浮点数计算量 转置CNN参数浮点数计算量 RNN参数浮点数计算量 GRU参数…

张弛语言课奇幻剧配音,一场特殊的体验

在为奇幻剧进行配音时&#xff0c;配音艺术家要将自己投入到一个充斥着魔法、幻想生物和超自然现象的虚构世界中。奇幻剧侧重于构建一个超越现实的幻境&#xff0c;因此配音工作要求既要呈现角色的个性化特征&#xff0c;也要与剧中的奇幻氛围相得益彰。以下是进行奇幻剧配音的…

RTOS的任务触发底层逻辑

&#xff08;定时器用于计时和触发事件&#xff0c;任务则由调度器进行调度和执行&#xff1a;每当时钟节拍到达时&#xff0c;系统会触发一个称为 tick 中断的事件。当 tick 中断发生时&#xff0c;操作系统会在中断服务例程中执行一定的处理&#xff0c;其中包括更新任务的运…

特殊企业信息轻松查询:特殊企业基本信息查询API的实用性探讨

引言 在当今数字化时代&#xff0c;企业管理和决策往往取决于有效获取和分析关键信息。对于特殊企业&#xff0c;如香港公司、社会组织、律所、事业单位、基金会和新机构&#xff0c;获取准确、及时的基本信息至关重要。在这个背景下&#xff0c;特殊企业基本信息查询API正逐渐…

Javascript中的宏任务与微任务

事件循环 JavaScript 语言的一大特点就是单线程&#xff0c;也就是说&#xff0c;同一个时间只能做一件事。为了协调事件、用户交互、脚本、UI 渲染和网络处理等行为&#xff0c;防止主线程的不阻塞&#xff0c;Event Loop 的方案应用而生。Event Loop 包含两类&#xff1a;一…

redis之cluster集群

1、redis-cluster集群&#xff1a;redis3.0引入的分布式存储方案 2、集群&#xff1a;由多个node节点组成&#xff0c;redis数据分布在这些节点之中 &#xff08;1&#xff09;在集群之中也分主节点和从节点 &#xff08;2&#xff09;自带哨兵模式 3、redis-cluster集群的…

私域电商和裂变营销的商机在哪里?

微三云胡佳东认为&#xff1a;公域流量已衰退&#xff0c;私域电商和裂变营销即将引来新的趋势&#xff01;品牌和传统企业的战略方向应该开始布局“内容”&#xff0c;线上流量持续分化&#xff0c;裂变营销的方式又将是一场新的改革革命。 私域电商和裂变营销的商机在于降低获…

每天5分钟复习OpenStack(十)Ceph 架构

1、Ceph是什么&#xff1f; “Ceph is a unified, distributed storage system designed for excellent performance, reliability and scalability.”这句话说出了Ceph的特性&#xff0c;它是可靠的、可扩展的、统一的、分布式的存储系统。Ceph可以同时提供对象存储RADOSGW&am…

牙科诊所小程序开发案例

一、背景&#xff1a; 针对传统口腔医疗领域中口腔诊所推广难,纸质信息保存难等问题&#xff0c;设计并开发了基于微信小程序实现口腔服务助手平台。为了给人们提供便捷&#xff0c;快速的预约方式&#xff0c;提高社会人群对口腔健康的关注力度。通过微信小程序互联网技术&…

Android Studio xml文件id爆红但是项目可以运行

这种原因是你的R文件太大了&#xff08;超过了Android Studio的上限25.6M了&#xff09; 解决办法如下&#xff1a; Help -> Edit Custom Properties -> create custom properties?(yes) ->添加 idea.max.intellisense.filesize5000 最后需要重启Android Studio

Dubbo引入Zookeeper等注册中心简介以及DubboAdmin简要介绍,为后续详解Dubbo各种注册中心做铺垫!

文章目录 一&#xff1a;Dubbo注册中心引言 1&#xff1a;什么是Dubbo的注册中心&#xff1f; 2&#xff1a;注册中心关系图解 3&#xff1a;引入注册中心服务执行流程 4&#xff1a;Dubbo注册中心好处 5&#xff1a;注册中心核心作用 二&#xff1a;注册中心实现方案 …

易涝积水点监测,内涝积水监测仪安装

城市内涝对人们来讲会有很多影响&#xff0c;比如出行需要绕远路或者家中涌入污水导致淤泥堆积&#xff0c;这还有可能让屋内的家具受到破坏&#xff0c;既影响正常生活也造成了经济损失。在街道上还可能对交通、通讯、电力等基础设施造成严重威胁。因此政府如果能实时监测路面…

2023亚太杯数学建模思路 - 案例:粒子群算法

文章目录 1 什么是粒子群算法&#xff1f;2 举个例子3 还是一个例子算法流程算法实现建模资料 # 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 什么是粒子群算法&#xff1f; 粒子群算法&#xff08;Pa…