myJuly
<?php

/**
* 兔子问题。
* 定一对大兔子每月能生一对小兔子,
* 且每对新生的小兔子经过一个月可以长成一对大兔子,
* 具备繁殖能力,
* 如果不发生死亡,
* 且每次均生下一雌一雄,
* 问一年后共有多少对兔子?
*/

function rabbit($month = 12){
$one = 1; //第一个月兔子的对数
$two = 2; //第二个月兔子的对数
$sum = 0; //总数
// 1,2,3,5,8,13,21,34,55,89,144,233
if($month == 1){
$sum = 1;
}

if($month == 2){
$sum = 2;
}

for($i = 2;$i < $month; $i++){
$sum = $one + $two;
$one = $two;
$two = $sum;
}
echo $month.\'个月后共有\'.$sum.\'对兔子\';
}

//递归
function recursion($month = 12){
if($month == 1){
return 1;
}elseif($month == 2){
return 2;
}else{
return recursion($month-1)+recursion($month-2);
}
}

$month = 12;
echo $month . \'个月后总共有\' . recursion($month) . \'只兔子\';

分类:

技术点:

相关文章: