经典算法——斐波那契数列
斐波那契数列的经典解法是采用递归的方式:
f(n)=f(n-1)+f(n-2) n>2
f(1)=1 n=1
f(2)=1 n=2
按照这个思路可以写出递归算法:
#include<iostream>
using namespace std;
int fabonacci(int n){if(n==1)return 1;else{if(n==2)return 1;elsereturn fabonacci(n-1)+fabonacci(n-2);}
}
int main(){int number;cout<<"请输入一个数字"<<endl;cin>>number;cout<<fabonacci(number)<<endl;return 0;
}
改进型的方法是用迭代来代替递归:
#include<iostream>
using namespace std;
int main(){int number;cout<<"请输入一个数字:"<<endl;cin>>number;int fabonacci[100];fabonacci[0]=1;fabonacci[1]=1;int i;for(i=2;i<number;i++)fabonacci[i]=fabonacci[i-1]+fabonacci[i-2];cout<<fabonacci[number-1]<<endl;return 0;
}
转载于:https://blog.51cto.com/beyond316/1222950
经典算法——斐波那契数列相关推荐
- C语言中经典算法——斐波那契数列的几种算法
斐波那契数列的递推公式: 我们尝试计算斐波那契数列的第n项并输出. 1.递归法 #include<stdio.h> int fib(int m) {if(m>=3){return f ...
- html5斐波那契数列,经典的斐波那契数列与arguments.callee
经典的斐波那契数列与arguments.callee HTML5学堂:提到斐波那契数列,很多人还不是太清楚,但是如果提到兔子繁殖这个经典题目,相信学过计算机语言的人们会立刻感觉"亲切&quo ...
- Java数据结构与算法---斐波那契数列Fibonacci
Java数据结构与算法-斐波那契数列Fibonacci 原理都很简单,直接上代码: package cn.m_fibonacci;public class Fibonacci {public stat ...
- 最优化算法-斐波那契数列搜索
斐波那契数列搜索,参考Edwin<最优化导论>第四版7.3章节,算法采用go语言实现. /****************************************** FileNa ...
- 427-动态规划算法-斐波那契数列
动态规划算法求解斐波那契数列 状态:dp数组,存储已经求解的子问题的最优解 递归版本的动态规划算法 //参数n表示斐波那契数列中数字的个数. //返回相应个数的斐波那契数列数字的值. int fabn ...
- 趣学算法--斐波那契数列
14天阅读挑战赛 努力是为了不平庸~ 目录 1.神奇的兔子数列 1.1问题分析 1.2斐波那契数列 1.3算法设计 1.3.1递归代码 1.3.2递归的改进,O(n)的代码 1.3.3时间复杂度为O( ...
- 算法-斐波那契数列:兔子序列
利用递归函数求斐波那契数列(兔子序列) 1.1.2.3.5.8.13.21-求第n个数是几,n任意一个数大家可以自定义,比如10,20等 分析: 从给出的数列中,可知, n=1时→1 n=2时→1 n ...
- 算法—斐波拉契数列(跳楼梯问题)
问题描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 这道题一看,就会轻易的知道用递归,f(1)=1;f(2)=1;f(n)=f(n-1)+f(n-2 ...
- 算法-斐波那契数列(黄金分割数列|兔子数列)
前言 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数列 ...
最新文章
- Python基础1 历史 变量
- adb 命令 pc端 复制粘贴 文本到android设备
- Adam是RmsProp和momentum算法的结合(列表比较)
- 一条命令解决系统N多故障
- yum 出错,提示Segmentation Fault (core Dumped) 的解决办法
- linux实时进程优先级rt,Linux实时性- PREEMPT_RT实时抢占实现
- mysql启动错误排查-无法申请足够内存
- 3.12 12!配对
- 设置开机ceph自动map rbd块设备
- css代码总结,css属性代码大全总结(一)
- HTML基础第九讲---表单
- 解构网约车界“拼多多”:花小猪背后的商业逻辑和价值空间
- 乐观锁 optimistic 和 悲观锁 pessimistic lock
- pandas自动化实战小任务1--对excel表格分 供应商 付款年月 进行汇总(涉及根据即有相同也有不同的index的表格合并)公司的数据
- 安卓手机网上商城-2号店
- MarkDown语法详解(Typora编辑器)
- C51 - DS18B20
- Kafka为什么要抛弃ZooKeeper?
- Servlet初级学习加入数据库操作(三)
- XCTF攻防世界BABYRE逆向
热门文章
- 【安装配置】克隆方式安装Oracle数据库软件
- VMworld 2016 US带来了哪些惊喜?
- java_object的具体使用--上帝
- RHCE认证培训+考试七天实录(三)
- Iphone革了谁的命?
- php 最大限制,php – ModSecurity最大发布限制(PCRE限制错误)
- sap权限激活_SAP产品的Field Extensibility
- python的idle支持两种方式_BO发布E8 Sport耳机,支持IP57防水
- 堆栈的缓冲区溢出进不了系统_一文理解缓冲区溢出
- linux中断响应时间太慢_Linux中的进程调度有哪些核心概念?