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

news/2025/2/28 6:22:41/

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.ppmy.cn/news/1234728.html

相关文章

Python基础【二】--基本语句【2023.11.22】

1.条件语句 在进行逻辑判断时&#xff0c;我们需要用到条件语句&#xff0c;Python 提供了 if、elif、else 来进行逻辑判断。格式如下所示&#xff1a; if 判断条件1:执行语句1... elif 判断条件2:执行语句2... elif 判断条件3:执行语句3... else:执行语句4...ainput("请输…

ubuntu 20.04 搭建crash dump问题分析环境

ubuntu 20.04 搭建crash dump问题分析环境 1 安装依赖软件1.1 linux-dump1.2 kexec-tools1.3 安装crash工具1.4 安装gdb调试工具1.5 安装ubuntu内核调试符号1.5.1 GPG 秘钥导入1.5.2 添加仓库配置1.5.3 更新软件包1.5.4 下载和安装内核调试符号1.5.5 验证内核调试符号已经被安装…

Java --- JVM之垃圾回收相关知识概念

目录 一、System.gc() 二、内存溢出与内存泄漏 2.1、内存溢出 2.2、内存泄漏 三、Stop the world 四、垃圾回收的并行与并发 4.1、并发 4.2、并行 4.3、并行 vs 并发 4.4、垃圾回收的并发与并行 五、安全点与安全区域 5.1、安全点 5.2、安全区域 六、引用 6.1…

数据结构重点知识点复习——第二章 线性表(顺序表)

目录 一、线性表 二、基本概念 2.1顺序表的插入 思路 代码 复杂度 2.2顺序表的删除 思路 代码 复杂度 查找 一、线性表 二、基本概念 线性表的顺序存储又称为顺序表。 它是用一组地址连续的存储单元&#xff08;比如C语言里面的数组&#xff09;&#xff0c;依次存储线性表…

【GUI】-- 13 贪吃蛇小游戏之食物及成绩判断

GUI编程 04 贪吃蛇小游戏 4.4 第四步&#xff1a;食物及成绩判断 首先&#xff0c;添加食物与分数的数据定义&#xff1a; //食物的坐标int foodX;int foodY;Random random new Random();//积分面板数据结构int score;在初始化方法中&#xff0c;添加(画出)食物与分数&…

【NLP】GPT 模型如何工作

介绍 2021 年&#xff0c;我使用 GPT 模型编写了最初的几行代码&#xff0c;那时我意识到文本生成已经达到了拐点。我要求 GPT-3 总结一份很长的文档&#xff0c;并尝试了几次提示。我可以看到结果比以前的模型先进得多&#xff0c;这让我对这项技术感到兴奋&#xff0c;并渴望…

用于 syslog 收集的协议:TCP、UDP、RELP

系统日志是从 Linux/Unix 设备和其他网络设备&#xff08;如交换机、路由器和防火墙&#xff09;生成的日志 可以通过将 syslog 聚合到称为 syslog 服务器、syslog 守护程序或 syslogd 的服务器来集中 syslog。在TCP、UDP和RELP协议的帮助下&#xff0c;系统日志从设备传输到系…

MacOS 成为恶意软件活动的目标

Malwarebytes 警告称&#xff0c;一个针对 Mac 操作系统 (OS) 的数据窃取程序正在通过虚假的网络浏览器更新分发给毫无戒心的目标。 Atomic Stealer&#xff0c;也称为 AMOS&#xff0c;是 Mac OS 上流行的窃取程序。 Atomic Stealer (AMOS) 恶意软件最近被发现使用“ClearFa…