码迷,mamicode.com
首页 > 其他好文 > 详细

递归递归!!

时间:2016-11-15 00:54:05      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:padding   思想   练习   span   方式   top   习题   学习   border   

最近迷上了递归,想深刻理解递归思想,下面是找到几个很不错的函数递归练习题。

有更好的代码可以拿出来一起学习。

 

(1).请使用递归的方式求出斐波那契数

1,1,2,3,5,8,13.....

给你一个整数n,求出它的值是多

function sum($n){

    if($n==1 || $n==2){

        return 1;}

    else{

        return sum($n-1) + sum($n-2);

    }

}

echo "斐波那契数为:". sum(8);

 

(2).已知

f(1)=3;

f(n) = 3*f(n-1)-1;

请使用递归的思想编程,求出 f(n)的值?

    function fn($n){

            if($n==1){

                return 3;

            }else{

                return 2*(fn($n-1))+1;//

            }

    }

    $a=fn(10);

    echo $a;

 

(3).猴子吃桃问题:

有一堆桃子,猴子第一天吃了其中的一半,并再多吃了一个!

以后每天猴子都吃其中的一半,然后再多吃一个。

当到第十天时,想再吃时(即还没吃),发现只有1个桃子了。

问题:最初共多少个桃子?

function ct($n){

            if($n==10){

                return 1;

            }else{

                return 2*(ct($n+1)+1);

            }

    }

    $a=ct(1);

    echo $a;

 

递归递归!!

标签:padding   思想   练习   span   方式   top   习题   学习   border   

原文地址:http://www.cnblogs.com/lovebing/p/6063874.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!