php实现 统计每个月兔子的数量
一、总结
一句话总结:想清楚再动,怎么可能出错嘛。
二、统计每个月兔子的数量
题目描述
有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多少?
/**
* 统计出兔子总数。
*
* @param monthCount 第几个月
* @return 兔子总数
*/
public static int getTotalCount(int monthCount)
{
return 0;
}
输入描述:
输入int型表示month
输出描述:
输出兔子总数int型
代码:
1 <?php 2 //1 2 3 4 3 //1 1 2 3 4 //每个月的兔子数量为f(n),兔子数量为本月成熟的兔子+本月新出生的兔子 5 //本月成熟的兔子为两个月前的所有兔子 6 //本月新出生的兔子,为 7 //每个月的兔子有三种:可以下崽崽的兔子,不可以下崽崽的兔子,和刚出生的兔子 题中是兔子过两个月成熟 8 //刚出生的兔子:等于两个月前的所有兔子 9 //不可以下崽的兔子:等于前一个月新生兔子--等于前三个月的所有兔子 10 //可以下崽崽的兔子:等于刚出生的兔子--等于两个月前的所有兔子 11 //f(n)=2f(n-2)+f(n-3) 12 13 while($n=trim(fgets(STDIN))){ 14 $arr=array_fill(0,100,-1); 15 $arr[0]=0;$arr[1]=1;$arr[2]=1; 16 echo f($n).PHP_EOL; 17 } 18 function f($n){ 19 global $arr; 20 if($arr[$n]!=-1) return $arr[$n]; 21 else return $arr[$n]=2*f($n-2)+f($n-3); 22 //if($n==1||$n==2) return 1; 23 //else return 2*f($n-2)+f($n-3); 24 } 25 ?>