• 递归递归!!


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

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

    (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;

  • 相关阅读:
    UML 基础: 组件图
    如何绘制 UML 活动图
    JVM简介
    【转】Adapter 模式
    用例建模技巧
    【转】JVM内存模型以及垃圾回收
    从UML到BPEL
    用例建模指南
    关于 Assigned
    符号和基本语法
  • 原文地址:https://www.cnblogs.com/lovebing/p/6063874.html
Copyright © 2020-2023  润新知