当前位置: 首页 > news >正文

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.dtcms.com/a/356109.html

相关文章:

  • BoardSim仿真
  • DoIP路由激活报文
  • Shell脚本(2)
  • 洛谷p1028数的计算 详解
  • 【智能体】零代码学习 Coze 智能体(1)
  • 人工智能基础概念
  • java通过redis简单实现分布式锁
  • 【MySQL数据库】存储引擎 学习记录
  • 深度学习进阶
  • B站 XMCVE Pwn入门课程学习笔记(8)
  • Mybatis中缓存机制的理解以及优缺点
  • 详解 外部负载均衡器 → Ingress Controller Pod 这个过程
  • LCEDA电气规则
  • HTTPS的底层是怎么做的,使得数据更安全
  • 【python】python进阶——with关键字
  • 一个格式化方法一个打印语句完成一个基本日历展示,完成完美『终端呈现』(迭代升级)(彩色·Python)
  • 刀客doc:Instagram会成为Meta广告业务的第二曲线吗?
  • 机器视觉学习-day05-ROI切割
  • 博创软件慧云台庙务管理系统产品优势分析
  • Java -- 文件基础知识--Java IO流原理--FileReader
  • Makefile的使用
  • 进程组 会话 作业控制 守护进程
  • LeetCode 100 -- Day7
  • JDK8升级到JDK17的注意事项
  • @RequiredArgsConstructor 和构造同时使用,注入会不会导致空指针
  • Dify 中的 Signal Killed 问题排查指南
  • 强化学习入门专栏目录
  • 2002-2020年全国投入产出表数据
  • 【C++八股文】操作系统篇
  • C语言 部分内存相关的库函数