斐波那契数列实现。

来源:互联网 发布:软件测试学校 编辑:程序博客网 时间:2024/05/22 12:39

斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。

    而在PHP中实现的话我们使用两种方法进行实现。

做个实例:

//1,1,2,3,5,8,13,21,34。。。求第30位的数是多少,请编写递归和非递归的函数实现计算。
function num($num){
    $arr=[1,1];
    if($num<2){
       return $arr[$num];
    }else{
        for($i=2;$i<$num;$i++){
            $arr[$i]=$arr[$i-1]+$arr[$i-2];
        }
    }
    return $arr[$num-1];
}

我们
再次使用递归进行实现。

/
function df($num){
    if($num<2){
        return 1;
    }else{
        $val = df($num-1)+df($num-2);
        return $val;
    }
}
/

原创粉丝点击