文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>递归思想

递归思想

时间:2007-06-09  来源:yuyii

知道递归,但在平时却很少去用他。这里总结思想:
  分析问题   
  建立模型   
  找出问题的子问题   
  设计递归方程(这个应该加上找“边界条件”)   
  枚举递归的回溯边界   
  逻辑合并可并的条件和处理
举例:
写一个函数计算s(n) = (1) + (1+2) + (1+2+3) + (1+2+3+4) + … + (1+2+..+n)
以下都只将n取5,容易测试结果
一般算法:
               
               
                ?php
$s=0;
for ($i=1;$i=5;$i++){
$t = ((1+$i)*$i)/2;
echo $t."\r\n";
$s += $t;
}
echo $s;
?>
递归的话可以这么考虑:
s(n)和s(n-1)之间的关系:s(n) = s(n-1)+(1+2+..+n)
考虑递归终结点:n=1时候。s(1) = 1
?php
function sum($n){
if ($n == 1) return 1;
else return sum($n-1)+(1+$n)*$n/2;
}
echo sum(5);
?>


相关阅读 更多 +
排行榜 更多 +
PvZ戴夫的时空冒险重置

PvZ戴夫的时空冒险重置

策略塔防 下载
PVZTV雪版阳光加50

PVZTV雪版阳光加50

策略塔防 下载
双刃战士雪姐

双刃战士雪姐

冒险解谜 下载