8.1 递推关系的应用
兔子和斐波那契数列
简单来说就是一个僵尸,初始等级为1,每过一个月提升1级,升级到2级之后就可以感染下一个人,将其变成1个1级的僵尸。(我不喜欢兔子的那个例子,因为我总是在纠结一个公兔和多个母兔子的问题)。
然后用递归来计算上面的问题就是:
function getNumber($month){
if($month==1){
return [1=>1,2=>0];
}
$lastMonth=getNumber($month-1);
return [1=>$lastMonth[2],2=>($lastMonth[2]+$lastMonth[1])];
}
$result=getNumber(6);
print_r($result);
/**
Array
(
[1] => 3
[2] => 5
)
**/
汉诺塔
这个资料很多了,我是参考了B站的这个视频。
这里仅仅计算完成汉诺塔需要多少步,并不涉及其中的具体步骤:
<?php
class Town{
public function totoalStepsNumber($dishNumber){
if($dishNumber==