首页 > PHP开发 > 什么是递归函数及通过它来计算5的阶乘

什么是递归函数及通过它来计算5的阶乘

作者: 分类:PHP开发 点击: 8,340 次

    所谓递归函数,就是自调用函数,在函数体内直接或间接自己调用自己。但递归函数自调用时需要设置自调用的条件,若满足条件,则调用函数本身,若不满足则终止本函数的自调用,然后把目前流程的主控权交回给上一层函数来执行。下面,通过一个实例来了解一下这种函数。

    <?phpfunction table($a){echo $a." ";

    if($a>0)  //自调用的条件

    {

    table($a-1);  //自调用时变量的值减1

    }

    else

    {

    echo "<-->";

    }

    echo $a." ";

    }

     

    table(10);

    ?>

    输出的结果是:10 9 8 7 6 5 4 3 2 1 0 <--> 0 1 2 3 4 5 6 7 8 9 10

    大家可能有点迷惑,前面的10 9 8 7 6 5 4 3 2 1 0可以很好理解,但后面的0 1 2 3 4 5 6 7 8 9 10是怎么来的呢?这是因为在每次自调用时,自调用后面的echo $a."";没有执行,它会从最后一个自调用结束后才开始1个1个地来运算显示,直到第1个自调用时才结束。最后一个自调用,即$a=1时,这样一来,table($a-1)自调用后$a的值就成为0了;以此类推,倒数第2个自调用,$a=2,也就输出了1……直到第1个自调用。

    下面是通过递归函数计算5的阶乘:

    <?phpfunction demo($a)

    {

    if($a > 1)

    $r=$a*demo($a-1);

    else

    $r=$a;

    return $r;

    }

    echo demo(5);

    ?>

    输出的结果是:120(即1*2*3*4*5的结果)。



文章作者:码不停蹄
本文地址:https://wanlimm.com/7720140127943.html
版权所有 © 转载时必须以链接形式注明作者和原始出处!

上一篇:
下一篇:

或许你会感兴趣的文章:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.