用循环替换:
$pci = 1;
for($i = 1;$i<=n;$i++)
{
   $pci *= $i;
}
return $pci;

解决方案 »

  1.   


    function fib($n)
    {
      if($n <0)
      {
      return 0;
      }
      if($n <=2)
      {
      return 1;
      }
    return fib($n-1)+fib($n-2)

    楼主是这个意思吧!
      

  2.   

    上面那个用循环替换见2楼,
    下面那个循环:
    $a[1]=1;
    $a[2]=1;
    echo $a[1].','.$a[2].',';
    for($i=3;$i<n;$i++){
    $a[$i]=$a[$i-1]+$a[$i-2];
    echo $a[$i].',';
    }
      

  3.   

    function pci($n) 

      if($n==1) 
      { 
      return 1; 
      } 
      return $n*pci($n-1); 

    pci(6); 这个阶乘算法 如何实现循环的? function fib($n) 

      if($n<0) 
      { 
      return 0; 
      } 
      if($n<=2) 
      { 
      return 1; 
      } 
    return fib($n-1)+fib($n-2) 

    fib(6); 
      

  4.   

    function pci($n) 

      if($n==1) 
      { 
      return 1; 
      } 
      return $n*pci($n-1); 

    pci(6); 这个阶乘算法 如何实现循环的? function fib($n) 

      if($n<0) 
      { 
      return 0; 
      } 
      if($n<=2) 
      { 
      return 1; 
      } 
    return fib($n-1)+fib($n-2) 

    fib(6);