<?php
/*
数列如下:【1】,【2】,3,6,9,18,27… ,用递归求第20项的值是多少?
(注意,规律就是第n个数是第n-2个数的3倍,已知第一个是1,第二个是2)。
*/
//1、递归法
function shulie($n){
if($n==1){
return 1;
}else if($n==2){
return 2;
}
return shulie($n-2)*3; //第n个数是第n-2个数的3倍
}
echo shulie(20);
echo "<hr/>";
//2、递推法
function shulie1($n)
{
$arr[1] = 1;
$arr[2] = 2;
for ($i=3; $i <= $n; $i++) {
$arr[$i] = $arr[$i-2]*3;
}
return $arr[$n];
}
echo shulie1(20);
?>