博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++初学之 2.递归算法典型案例: 斐波那契(Fibonacci)兔子问题(第三项为前两项的累加问题)...
阅读量:5239 次
发布时间:2019-06-14

本文共 800 字,大约阅读时间需要 2 分钟。

著名的意大利数学家斐波那契(Fibonacci)在他的著作《算盘书》中提出了一个“兔子问题”:假定小兔子一个月就可以长成大兔子,而大兔子每个月都会生出一对小兔子。(即兔子从生后第三个月才会生小兔子。)如果年初养了一对小兔子,问到年底时将有多少对兔子?  (当然得假设兔子没有死亡而且严格按照上述规律长大与繁殖)。

 1、分析问题。

我们可以根据题意列出表1来解决这个问题:

表1兔子问题分析表

 

1月

2月

3月

4月

5月

6月

7月

8月

9月

10月

11月

12月

小兔

1

 

1

1

2

3

5

8

13

21

34

55

大兔

 

1

1

2

3

5

8

13

21

34

55

89

合计

1

1

2

3

5

8

13

21

34

55

89

144

这个表格虽然解决了斐波那契的兔子问题(年底时兔子的总数是144只),但仔细观察一下这个表格,你会发现兔子的数目增长得越来越快,如果时间再长,只用列表的方法就会有困难。(例如,你愿意用列表的方法求出5年后兔子的数目吗?)我们需要研究表中的规律,找出一般的方法,去解决这个问题。

1 #include 
2 using namespace std; 3 int fib(int n){
4 if(n==1||n==0)return 1; 5 else return (fib(n-1)+fib(n-2)); 6 } 7 int main(){
8 cout<<"请输入月数为:"<
>n; 11 cout<<"兔子总数为:"<
<

 

转载于:https://www.cnblogs.com/leeking/archive/2012/02/17/2355623.html

你可能感兴趣的文章
普通求素数和线性筛素数
查看>>
React Router 4.0 基本使用
查看>>
作业完成2
查看>>
MySQL数据库分页查询,Oracle数据库分页查询,SqlServer数据库分页
查看>>
Python re模块
查看>>
Docker Macvlan 介绍 or 工作原理
查看>>
java接口
查看>>
Struts2学习笔记01 之 简介及配置
查看>>
015 spel
查看>>
POJ 1511 Invitation Cards ( 双向单源最短路 || 最小来回花费 )
查看>>
C陷阱与缺陷(一)
查看>>
grunt切换下载源
查看>>
FASTDFS安装
查看>>
Java基础--JDBC
查看>>
悲剧的升到了ios8
查看>>
js实现等待n秒后--按钮可用
查看>>
关于C++ const 的全面总结
查看>>
C#学习笔记(六):可空类型、匿名方法和迭代器
查看>>
Python自动化运维开发实战 一、初识Python
查看>>
img添加预加载图片
查看>>