C语言————斐波那契数列(例题1)

小博在学习c语言时,总是会遇到一些很典型的例题,如:斐波那契数列汉诺塔问题冒泡排列问题,等等。小博决定汇总一下,今天讲清斐波那契数列,后续持续更新。

一、斐波那契数列

斐波那契数列:1,1,2,3,5,8,13,21,34,55 ......

例:求第n个斐波那契数Fib(n)

这是一个数学问题,我们可以先找找规律。

二、用递归的方法求

看到这里我们可以想到用递归的方法:

//递归求斐波那契数列
#include <stdio.h>
int Fib(int n)
{if (n <= 2)return 1;elsereturn Fib(n - 1) + Fib(n - 2);
}int main()
{int n = 0;scanf("%d", &n);int ret = Fib(n);printf("%d", ret);return 0;
}

该方法看似简单,然而计算量非常大,每个数都要重新计算一遍组成它的两个数,不要用该方法。

三、用迭代的方法求

我们再次分析找规律,会发现可以用迭代的方法:

//用迭代求斐波那契数列
#include <stdio.h>
int main()
{int n = 0;scanf("%d", &n);int a = 1;int b = 1;int c = 1;while (n>=3){c = a + b;a = b;b = c;n--;}printf("%d", c);return 0;
}

这种方法就比递归快的多了!

好了,小博关于斐波那契数列今天就讲这么多了,欢迎大家留言评论!!

这里小博送上自己喜欢的一句话给大家:山与山之间不必相似,春与秋也不必争艳

加油!!

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

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

相关文章

Text to Speech技术详解与实战:GPT-4o Mini TTS API应用指南

Text to Speech技术详解与实战&#xff1a;GPT-4o Mini TTS API应用指南 一、概述 Text to Speech&#xff08;TTS&#xff0c;文本转语音&#xff09;技术正在广泛应用于博客配音、多语言音频输出与实时语音流等场景。越来越多的开发者希望将自然、流畅的AI语音集成到产品中…

数字ic后端Useful Skew到底怎么玩的?

CCOpt的Useful Skew到底怎么玩的&#xff1f;上图里&#xff0c;我们可以看到&#xff0c;在CCOpt之前&#xff0c;这个chain上的slack为200ps/-100ps/200ps。我们想修复这-100ps的slack&#xff0c;就有两个策略了&#xff1a;方法1&#xff1a;把F1的delay提前&#xff1b;方…

Linux 网络配置与系统管理指南

文章目录 1. 虚拟机网络模式 1. 桥接模式 (Bridged) 2. NAT 模式 3. 仅主机模式 (Host-only) 2. 固定IP配置(桥接模式) 配置步骤: 3. 进程管理 1)查看进程:ps命令 2)终止进程 3)进程树查看 4. 服务管理 1)systemctl管理服务 2)chkconfig服务管理 5. 动态监控 top命令 …

算法学习笔记:双指针_滑动窗口专题

目录 1.长度最小的子数组 2.无重复字符的最长子串 3.将x减少到0的最小操作数 4.最大连续1的个数Ⅲ 5.找到字符串中所有字母异位词 6.水果成篮 7.串联所有单词的子串 8.最小覆盖子串 1.长度最小的子数组&#xff1a;209. 长度最小的子数组 - 力扣&#xff08;LeetCode&a…

Witsbb健敏思是哪个国家的品牌?澳洲纯净溯源,100+过敏原排除的敏宝专研品牌

在为敏感体质宝宝挑选营养补充品时&#xff0c;“品牌来源是否可靠”“品控标准是否严格”往往是宝爸宝妈的首要考量。源自澳大利亚的Witsbb健敏思&#xff0c;作为澳企Forestpark旗下的综合膳食营养补充品牌&#xff0c;从诞生起便根植于澳洲严苛的保健品监管体系&#xff0c;…

gdbserver远程调试和交叉编译gdb

1、交叉编译gdb 1.1下载源码 Gdb源码&#xff1a;wget https://ftp.gnu.org/gnu/gdb/gdb-15.2.tar.xz Gdb依赖的源码&#xff1a;GMP、MPFR、ncurses&#xff08;图形库&#xff09; GMP源码&#xff1a;wget https://ftp.gnu.org/gnu/gmp/gmp-6.3.0.tar.xz MPFR源码&#xff1…

UE5.5模型导入FBX强制x轴向前Force Front XAxis

很多软件轴向都是不同的 , 所以模型导入虚幻的时候 可以勾选Force Front XAxisUE5.5 在右上角设置 点击右上角三个点就可以看到强制前X轴

Docker中如何记录非交互式连接ssh用户操作的所有命令记录?

网罗开发&#xff08;小红书、快手、视频号同名&#xff09;大家好&#xff0c;我是 展菲&#xff0c;目前在上市企业从事人工智能项目研发管理工作&#xff0c;平时热衷于分享各种编程领域的软硬技能知识以及前沿技术&#xff0c;包括iOS、前端、Harmony OS、Java、Python等方…

涡旋场和挠场的对偶性方程组

要将涡旋场与挠场的动态对偶性以麦克斯韦方程组的形式嵌入爱因斯坦-嘉当理论的弯曲时空框架中。一、符号与几何基础1. 基本张量定义 度规张量&#xff1a; g_{\mu\nu} &#xff08;描述时空弯曲&#xff0c; \mu,\nu 0,1,2,3 &#xff09;。仿射联络&#xff1a; \Gamma^\la…

8.28日QT

思维导图#include <iostream>using namespace std;int main() {int a0,b0,c0,d0;string i;cout << "请输入一个字符串" << endl;getline(cin,i);int yi.size()-1;while(1){if(a<i[y]&&i[y]<z){aa1;}else if(A<i[y]&&i[y]…

跨网络通信:路由器如何实现全球互联

目录 一、跨网络的两台主机通信 二、采用不同通信标准的两个局域网内的主机通信 三、路由器实现的“认路”功能、数据传输&#xff1a;封装与解封装 四、认识IP地址 五、为什么访问目标主机需要经过路由器&#xff1f; 1、网络划分 2、寻址与转发 六、目的IP地址的核心意…

HTTP 头

HTTP 头&#xff08;HTTP Header&#xff09;是 HTTP 请求/响应中用于传递元数据的关键部分&#xff0c;分为 请求头&#xff08;Request Header&#xff09;、响应头&#xff08;Response Header&#xff09;、通用头&#xff08;General Header&#xff09; 和 实体头&#x…

vue 海康视频插件

背景&#xff1a; 在vue项目中&#xff0c;需要在pc端播放视频&#xff0c;播放的视频包括视频实时、视频回放等。 写文思路&#xff1a; 海康视频对接流程&#xff0c;了解海康视频插件&#xff0c;前端开发项目并引入依赖&#xff0c;前端开发封装的组件&#xff0c;组件的调…

【URP】Unity 插入自定义RenderPass

【从UnityURP开始探索游戏渲染】专栏-直达 自定义渲染通道是一种改变通用渲染管道&#xff08;URP&#xff09;如何渲染场景或场景中的对象的方法。自定义呈现通道(RenderPass)包含自己的Render代码&#xff0c;可以在注入点将其添加到RenderPass中。 添加自定义呈现通道(Rend…

DevSecOps 集成 CI/CD Pipeline:实用指南

就在你以为软件开发已无简化的余地时&#xff0c;新的解决方案应运而生 随着软件开发几乎每天都在攀升&#xff0c;组织不断尝试以前所未有的速度交付新功能和应用程序。虽然持续集成和持续交付 &#xff08;CI/CD&#xff09; Pipeline 彻底改变了软件部署&#xff0c;但它们…

vue2+elementui 表格单元格增加背景色,根据每列数据的大小 颜色依次变浅显示

注释&#xff1a; vue2elementui 表格列实现一个功能&#xff0c;给定两个颜色&#xff1a;红色 #f96d6f 和 绿色 #63be7b&#xff0c;列数据正数时表格单元格背景色为红色&#xff0c;列数据负数时表格单元格背景色为绿色&#xff0c;根据数据的大小颜色依次越来越淡&#xff…

【JavaEE】(19) MyBatis-plus

一、MyBatis Generator 为 MyBastis 框架设计的代码生成工具&#xff0c;简化持久层编码工作。根据数据库表自动生成 Java 实体类、Mapper 接口、SQL 的 xml 文件。让开发者专注于业务逻辑。 1、引入插件 MyBatis 官网搜索 MyBatis Generator 插件&#xff1a;Running MyBatis…

Android之腾讯TBS文件预览

文章目录前言一、效果图二、实现步骤1.去官网注册并创建应用[腾讯官网](https://console.cloud.tencent.com/tbs/client)2.下载arr文件并引入[腾讯TBS](https://download.csdn.net/download/Android_Cll/91764395)3.application实例化4.activity实例化5.下载网络文件6.PreviewA…

基于微信小程序的化妆品成分查询系统源码

源码题目&#xff1a;基于微信小程序的化妆品成分查询系统源码☑️ 文末联系获取&#xff08;含源码、技术文档&#xff09;博主简介&#xff1a;10年高级软件工程师、JAVA技术指导员、Python讲师、文章撰写修改专家、Springboot高级&#xff0c;欢迎高校老师、同行交流合作。毕…

STM32 启动执行逻辑与代码烧入方法详解:从底层原理到实操落地

STM32 启动执行逻辑与代码烧入方法详解&#xff1a;从底层原理到实操落地背景概要STM32启动和执行的核心逻辑链条代码烧入到STM32的途径方法结束语背景概要 在学习STM32时候我们知道代码需要通过一些下载器&#xff08;如ST-Link、J-Link&#xff09;或者串口下载烧入到STM32芯…