递归大总结之斐波那契
//利用循环的解法,效率高
#include<iostream>
using namespace std;int facii(int n)
{if (n < 0){return 0;}int a[] = { 0, 1 };int i = 0, x1 = 0, x2 = 1, x3 = 0;if (n<2)return a[n];for (i = 2; i <= n; i++){x3 = x1 + x2;x1 = x2;x2 = x3;}return x3;
}int main()
{int n, y;cin >> n;y = facii(n);cout << y << endl;system("pause");
}
递归解法
#include<iostream>
using namespace std;
int f(int n)
{if (n < 0){return 0;}int arr[2] = { 0, 1 };if (n < 2){ return arr[n];}return f(n - 1) + f(n - 2);
}
int main()
{int n;int res;cin >> n;res=f(n);cout << res << endl;system("pause");
}
转载于:https://www.cnblogs.com/readlearn/p/10806589.html
递归大总结之斐波那契相关推荐
- 笔试题:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。该题有三种解法:递归的方法求解斐波那契数列、用概率与统计的数学方法解决,3.动态规划
笔试题 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个 n 级的台阶总共有多少种跳法.该题有三种解法:1.递归的方法求解斐波那契数列.2.用概率与统计的数学方法解决,3.动态规划 ...
- [python]练习之递归和循环实现斐波拉契数列
1 # 程序功能:用递归和循环实现斐波拉契数列 2 # 0 1 1 2 3 5 8 13 21 34 3 4 def digui_fibo(number): 5 if number == 1: 6 r ...
- C语言数据结构----递归的应用(斐波拉契数列、汉诺塔、strlen的递归算法)
本节主要说了递归的设计和算法实现,以及递归的基本例程斐波拉契数列.strlen的递归解法.汉诺塔和全排列递归算法. 一.递归的设计和实现 1.递归从实质上是一种数学的解决问题的思维,是一种分而治之的思 ...
- 递归经典应用之斐波那契数列
递归经典应用之斐波那契数列 (一)递归概念 将复杂问题 递推分解为最简问题 然后将结果回归的过程 Windows - Linux Linux = Linux is not Unix 使用方法: 自己调 ...
- 利用递归、迭代解决斐波那契数列问题与汉诺塔难题
有人说,"普通程序员使用迭代,天才程序员使用递归",真是这样吗? 1.浅谈递归与迭代 <1>递归的基本概念: 程序调用自身的编程技巧称为递归,是函数自己调用自己. 一个 ...
- 用递归调用法求斐波那契函数_进阶版:面试官问你斐波那契数列的时候不要高兴得太早...
增加内容 递归改进版 矩阵快速幂解法 通项表达式解法 列表法 斐波那契数列应用 前言 假如面试官让你编写求斐波那契数列的代码时,是不是心中暗喜?不就是递归么,早就会了.如果真这么想,那就危险了. 递归 ...
- 数据结构与算法--再谈递归与循环(斐波那契数列)
再谈递归与循环 在某些算法中,可能需要重复计算相同的问题,通常我们可以选择用递归或者循环两种方法.递归是一个函数内部的调用这个函数自身.循环则是通过设置计算的初始值以及终止条件,在一个范围内重复运算. ...
- Python 算法之递归与尾递归,斐波那契数列以及汉诺塔的实现
文章目录 递归概念 递归要素 递归与迭代的区别 示例一:阶乘 示例二:斐波那契数列 示例三:汉诺塔问题 尾递归 Python 中尾递归的解决方案 递归概念 递归:程序调用自身的编程技巧称为递归( re ...
- 时间复杂度 ( 递归实现阶乘、斐波那契数列第n个数) / 空间复杂度
1 时间复杂度 时间复杂度是衡量程序运行的快慢,对于一个程序来说,运行速度的快慢,有很多干扰因素,不同的硬件条件都可能影响到速度的快慢.时间复杂度来衡量,不是精确的衡量,只是单纯从代码本身衡量程序 ...
- 递归与迭代 | 求斐波那契数列第n项值的四种算法
前言: 昨儿晚上三点多睡不着,不知道胡思乱想了些啥,好不容易睡着了又做了些稀奇古怪的梦.考研还是继续,真难. 这一篇博客记录一下求斐波那契数列第n项值得几种方法,用到了递归和迭代的方法,所以首先我们来 ...
最新文章
- 利用RMAN检测数据库坏块的脚本
- html中<pre>标签
- 2、HTML嵌入CSS样式(四种方法)
- Codeforces 934C - A Twisty Movement
- Wannafly 挑战赛27 题解
- sql join语句语法_SQL Left Join语句:示例语法
- 数据科学入门与实战:Seaborn001
- PHP中时间和日期函数总结
- linux自带mysql启动不_Linux系统自带的MySQL 数据库启动问题
- Kickstart+HTTP+DHCP+TFTP全自动批量安装部署Linux系统
- xss BODY ONLOAD=alert(‘XSS’)
- windows系统bat批处理 清理注册表与蓝屏补丁
- MAC硬盘空间减少的隐藏杀手,VM到底是什么?
- 中国行政区划代码(2020年版)附树形sql与excel
- 十大编程语言的优劣对比简述
- 《新程序员》走进名企线下交流活动——微软亚洲研究院
- 针孔相机模型成像原理与图像变形矫正教程
- Cell | 共生菌群通过γδ T细胞促进肺癌的发展
- plt.xticks()
- 如何查询一个域名的子域名
热门文章
- java报错 csrf_CSRF Security Error解决办法
- 有什么相见恨晚的算法答题套路?【力扣】
- 【POJ 3977】【折半枚举】【超大背包】Subset【暑期 No.7】
- 手机辅助java脚本_android 手机一个辅助阅读工具
- 原生php phpmailer 发送邮件 email
- Zookeeper 概念
- Could not get unknown property 'packageForR' for task ':app:processDebugReso
- C语言 第六章 多重循环练习
- [POJ3233] Matrix Power Series(矩阵快速幂)
- 画图解释 SQL join 语句