十七、斐波那契数列 【递推思想(迭代思想)解决】
来源:互联网 发布:信用卡可以在淘宝套现 编辑:程序博客网 时间:2024/04/28 03:34
递推思想本身并不跟函数有直接关系(虽然常常写在函数中)。
其基本思路为:
为了解决一个“大”问题,根据现实逻辑,如果能够找到同类问题的一个“最小问题”的答案(通常是已知的),并且根据已知算法,又可以因此得到比最小问题“大一级”问题的答案。 而且,依次类推,又可以得到再大一级问题的答案,最终就可以得到“最大那个问题”(即要解决的问题)的答案。
可见,该思想的过程依赖与2个条件:
1,可知同类最小问题的答案;
2,大一级问题的答案可以通过小一级问题的答案经过简单运算规则而得到。
此思想的解体思路是:从小到大
对比:递归思想是:从大到小,在回归到大。
举例:
斐波那契数列,又称为黄金分割数列,
斐波那契数列的前几项为:1,1,2,3,5,8,13,21...(前两项是已知的),这两个数从第三项开始,每一项都等于前两项之和。
例如相关的:有趣的兔子问题,
一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来,如果所有兔子都不死,那么一年之后可以繁殖多少对兔子?
分析如下:
第一个月小兔子没有繁殖能力,所以还是一对;
两个月后,生下一对小兔子,总数共有两对;
三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,总数共有三对
…………
<?php
//利用递推思想(迭代思想)解决斐波那契数列
function fbnq($month){
$month1=1;
$month2=1;
$result=0;
for($i=3;$i<=$month;$i++){
$result=$month1+$month2;
$month1=$month2;
$month2=$result;
}
return $result;
}
echo "兔子的总数量".fbnq(8);
?>
- 十七、斐波那契数列 【递推思想(迭代思想)解决】
- 7、递归思想和迭代思想(递推思想)
- 关于递推的简单思想(通过阶乘和斐波那契程序领悟)
- 利用递归思想简单实现斐波那契数列
- 斐波那契数列(迭代)
- 斐波那契数列递推
- 斐波那契数列(迭代和递归)
- 递归、递推(斐波那契数列)
- 递推算法(顺推)- 斐波那契数列用C++实现
- 迭代算法-斐波那契数列
- 通过Java迭代实现斐波那契数列
- 斐波那契数列【迭代+递归】
- 斐波那契数列迭代和递归实现
- “斐波那契数列”问题的递推算法
- “斐波那契数列”问题的递推算法
- “斐波那契数列”问题的递推算法
- “斐波那契数列”问题的递推算法
- “斐波那契数列”问题的递推算法
- 【伤逝版 红颜劫】
- 控制执行流程
- cocos2dx[3.2] ——核心类Director/Scene/Layer/Sprite详细讲解
- is not allowed to connect to this MySql server
- java 集合类学习笔记
- 十七、斐波那契数列 【递推思想(迭代思想)解决】
- 关于“性能计数器注册表单元配置一致性”检测失败解决办法
- LeetCode Container With Most Water
- iOS-内存管理就这么简单2
- 泰勒公式(泰勒展开式,泰勒中值定理)使用基本技巧
- SQL数据库“正在恢复”,解决和查看方法
- apache django 配置
- 游戏开发中的人工智能 复习
- 黑马程序员—数组