十七、斐波那契数列 【递推思想(迭代思想)解决】
2015-01-17 23:00
344 查看
递推思想本身并不跟函数有直接关系(虽然常常写在函数中)。
其基本思路为:
为了解决一个“大”问题,根据现实逻辑,如果能够找到同类问题的一个“最小问题”的答案(通常是已知的),并且根据已知算法,又可以因此得到比最小问题“大一级”问题的答案。 而且,依次类推,又可以得到再大一级问题的答案,最终就可以得到“最大那个问题”(即要解决的问题)的答案。
可见,该思想的过程依赖与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);
?>
递推思想本身并不跟函数有直接关系(虽然常常写在函数中)。
其基本思路为:
为了解决一个“大”问题,根据现实逻辑,如果能够找到同类问题的一个“最小问题”的答案(通常是已知的),并且根据已知算法,又可以因此得到比最小问题“大一级”问题的答案。 而且,依次类推,又可以得到再大一级问题的答案,最终就可以得到“最大那个问题”(即要解决的问题)的答案。
可见,该思想的过程依赖与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、递归思想和迭代思想(递推思想)
- 走火入魔.NET权限组件-用资源权限(设置权限)思想来解来解决权限的存储问题
- Struts迭代问题解决:如何在一行显示多个记录(同一字段)
- 用时间戳思想解决读取缓存问题
- 走火入魔.NET权限组件-字段访问权限(数据表字段的访问权限)思想来解决数据列的权限控制需求
- 走火入魔.NET权限组件-用资源权限(设置权限)思想来解来解决权限的存储问题
- 走火入魔.NET权限组件-用资源权限(设置权限)思想来解来解决权限的存储问题
- 走火入魔.NET权限组件在公司的网络版温湿度监控系统中进行实战-用资源权限(数据集权限)思想来解决实际问题
- 走火入魔.NET权限组件-字段访问权限(数据表字段的访问权限)思想来解决数据列的权限控制需求
- 错排问题的递推解决
- 一步一步SharePoint 2007之十七:解决实现Form认证后无法再用SharePoint Designer编辑网站的问题
- 斐波那契数列的递归和迭代实现之差异
- EXTJS,java分页问题的解决方法,官方的思想!
- 递推和迭代
- 100个汤圆分配——软件解决、数学解决、数学思想
- 一步一步SharePoint 2007之十七:解决实现Form认证后无法再用SharePoint Designer编辑网站的问题
- 用面向对象的思想简化MIS系统中的查询代码(三)——问题的解决
- 走火入魔.NET权限组件在公司的网络版温湿度监控系统中进行实战-用列表资源权限(数据集权限)思想来解决实际问题
- 走火入魔.NET权限组件-字段访问权限(数据表字段的访问权限)思想来解决数据列的权限控制需求