亚洲欧美日韩综合系列在线_91精品人妻一区二区_欧美大肥婆一级特大AA片_九色91视频免费观看_亚洲综合国产精品_av中文字幕在线不卡_久久精品色综合网_看黄色视频的软件_无卡无码高清中文字幕码2024_亚洲欧美日韩天堂网

PHP如何實(shí)現(xiàn)斐波那契數(shù)列?(代碼實(shí)例)

來源:藏色散人 發(fā)布時間:2019-03-19 14:23:46 閱讀量:998

斐波那契數(shù)列(Fibonacci sequence),又稱黃金分割數(shù)列、因數(shù)學(xué)家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數(shù)列”,指的是這樣一個數(shù)列:1、1、2、3、5、8、13、21、34、……,簡單來說,斐波那契數(shù)列就是一系列元素,前兩個元素相加得到下一個元素,從0和1開始。

在本文中,我們將給大家介紹如何用PHP實(shí)現(xiàn)斐波那契數(shù)列。給定一個數(shù)字n,我們需要找到斐波那契數(shù)列直到第n項(xiàng)。

例子:

1

2

3

4

輸入:10

輸出:0 1 1 2 3 5 8 13 21 34

輸入:15

輸出:0 1 1 2 3 5 8 13 21 34 55 89 144 233 377

方法1:使用遞歸方式

遞歸是我們重復(fù)調(diào)用相同函數(shù)直到匹配基本條件以結(jié)束遞歸的方式。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<?php

function Fibonacci($number){

 

    if ($number == 0)

        return 0;

    else if ($number == 1)

        return 1;

    else

        return (Fibonacci($number-1) +

            Fibonacci($number-2));

}

$number = 10;

for ($counter = 0; $counter < $number; $counter++){

    echo Fibonacci($counter),' ';

}

輸出:

1

0 1 1 2 3 5 8 13 21 34

方法2:使用迭代方法

首先,我們將第一個和第二個數(shù)字初始化為0和1.然后,我們打印第一個和第二個數(shù)字。然后我們將流程發(fā)送到迭代while循環(huán),我們通過添加前兩個數(shù)字得到下一個數(shù)字,同時我們將第一個數(shù)字與第二個數(shù)字交換,第二個數(shù)字與第三個數(shù)字交換。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<?php

function Fibonacci($n){

 

    $num1 = 0;

    $num2 = 1;

 

    $counter = 0;

    while ($counter < $n){

        echo ' '.$num1;

        $num3 = $num2 + $num1;

        $num1 = $num2;

        $num2 = $num3;

        $counter = $counter + 1;

    }

}

 

$n = 10;

Fibonacci($n);

輸出:

1

0 1 1 2 3 5 8 13 21 34


標(biāo)簽: PHP
分享:
評論:
你還沒有登錄,請先