计算斐波那契数(递归、迭代)(1,1,2,3,5.....)

递归和非递归分别实现求第n个斐波那契数

例如:

输入:5 输出:5

输入:10, 输出:55

输入:2, 输出:1

递归求第n个斐波那契数

可以看函数递归 -CSDN博客

cpp 复制代码
//递归实现求第n个斐波那契数
int F(int n) {
	if ( n == 1 || n == 2) {
		return 1;
	}
	else if (n == 0) {
		return 0;
	}
	else {
		return F(n - 1) + F(n - 2);
	}
}
int main() {
	int n = 0;
	scanf("%d", &n);
	int r = F(n);
	printf("%d", r);
	return 0;
}

非递归实现求第n个斐波那契数(迭代)

cpp 复制代码
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int fact(int n) {
	int a = 1;
	int b = 1;
	int c = 1;
	while (n > 2) {
		c = a + b;
		a = b;
		b = c;
		n--;
	}
	return c;
}
int main() {
	int n = 0;
	scanf("%d", &n);
	int a = fact(n);
	printf("%d", a);
	return 0;
}
相关推荐
m0_547486661 小时前
《模式识别:使用MATLAB分析与实现》全套PPT课件
开发语言·matlab·模式识别
Jerry1 小时前
LeetCode 977. 有序数组的平方
算法
Tim_101 小时前
【C++】009、extern关键字
java·开发语言
Turbo正则2 小时前
群论学习入门 | 群论与李群的基本概念
人工智能·学习·算法·抽象代数
sugar__salt2 小时前
手撕字符串算法:反转、回文、验证回文 Ⅱ 完整拆解
javascript·算法·面试·职场和发展
To_OC2 小时前
从一行报错开始,把字符串反转、回文算法连带着包装类一起捋明白
javascript·算法·api
小c君tt2 小时前
linux学习笔记1
linux·笔记·学习
LCG米2 小时前
机器人控制系统与运动规划:从RRT算法到ROS move_base实战
算法·机器人