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

C语言二十三弹---求第N项斐波那契数列的值

C语言求第N项斐波那契数列的值

定义:斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,34,55,89…自然中的斐波那契数列,这个数列从第3项开始,每一项都等于前两项之和。

思路:从定义中可知 斐波那契数列是每一项等于前两项之和,需要注意的就是 数列的第1、2项为1。

方法一:递归法

注意:使用递归要记住设置开始条件,并使得随着递归的深入逐渐靠近结束条件(其实就是开始条件)。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>int Fib(int n)
{if (n < 3){return 1;}else{return Fib(n - 1) + Fib(n - 2);}
}int main()
{int n = 0;scanf("%d", &n);int ret = Fib(n);printf("%d\n", ret);return 0;
}

方法二:非递归法

思路:使用变量接收前两项之和 再使用前两项分别接收 前两项之和和第二项的值。主要 1 2 项为1。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>int Fib(int n)
{int tmp = 0;int a = 1;int b = 1;if (n < 3){return 1;}while (n > 2){tmp = a + b;a = b;//必须a先接收b 不然会导致b中值被覆盖b = tmp;n--;}return tmp;}int main()
{int n = 0;scanf("%d", &n);int ret = Fib(n);printf("%d\n", ret);return  0;
}
http://www.lryc.cn/news/239841.html

相关文章:

  • Pickcode:教孩子们编码的新视觉语言
  • 乐划锁屏插画大赏热度持续,进一步促进价值内容的创造与传播
  • 【ArcGIS Pro微课1000例】0034:矢量数据几何校正案例(Spatial Adjustment)
  • 2023亚太杯数学建模B题:玻璃温室中的微气候法规,思路模型代码论文
  • Eclipse常用设置-乱码
  • MySQL面试,MySQL事务,MySQL锁,MySQL集群,主从,MySQL分区,分表,InnoDB
  • HarmonyOS应用开发者认证题目满分指南
  • openssl+ SM2 + linux 签名校验开发实例(C++)
  • 有关Vue、微信小程序、UniApp中的CSS中的宽度width单位、自适应
  • 黑马React18: ReactRouter
  • 算法刷题-动态规划-1
  • 分享一篇很就以前的文档-VMware Vsphere菜鸟篇
  • QT中的lambda表达式
  • linux文件I/O:文件锁的概念、函数以及代码实现
  • MySQL数据库系统教程
  • 这样写postman实现参数化,阿里p8都直呼牛逼
  • 【Qt-25】控件篇
  • 《算法通关村——反转字符串中的单词问题解析》
  • C++使用Tensorflow2.6训练好的模型进行预测
  • 5-1 Java 网络编程
  • 汇编-CALL和RET指令
  • STM32_5(中断)
  • docker 部署hbase 并且java Api连接
  • EasyExcel listener无法通过Autowired注入xxMapper
  • Android Spannable 使用​注意事项
  • Apache访问控制
  • 二、类与对象(二)
  • Pytorch从零开始实战10
  • 设计模式-单例模式实战
  • requests库出现AttributeError问题的修复与替代方法