91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中怎么實現黃金分割數列

發布時間:2021-07-30 17:49:16 來源:億速云 閱讀:100 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關PHP中怎么實現黃金分割數列,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

斐波那契數列指的是這樣一個數列:

1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765.......

即:前兩個值都為1,從第三位開始,每一位都是當前位前兩位的和

規律公式為:

Fn = F(n-1) + F(n+1)

  • F:指當前這個數列

  • n:指數列的下標

好了,了解了黃金分割數列(斐波那契數列),下面我們來了解一下使用PHP實現的方法。

方法1:利用數組

觀察上面給出的數列,結合數組知識,可以分析出:

  • 數組下標為0或1時,元素的值為1

  • 數組下標為2時,元素是a[0]+a[1];

  • 數組下標為3時,元素是a[1]+a[2];

  • .....

  • 數組下標為n時,元素是a[n-2]+a[n-1];

可以得出:

  • a[0]=1

  • a[1]=2

  • a[n]=a[n-2]+a[n-1]   (n>2)

代碼實現:

<?php
header("Content-type:text/html;charset=utf-8");
function test($num){
    $arr=[];
    for($i=0;$i<$num;$i++)
    {
        if($i==0 || $i==1){
            $arr[$i]=1;
        }else{
            $arr[$i]=$arr[$i-1]+$arr[$i-2];
        }
		echo $arr[$i]." ";
    }
}
echo "斐波那契數列前10位:";
test(10);
echo "<br>斐波那契數列前11位:";
test(11);
echo "<br>斐波那契數列前12位:";
test(12);
?>

輸出:

PHP中怎么實現黃金分割數列

了解了如何利用數組來求斐波那契數列,下面我們來看看利用遞歸來求斐波那契數列。

方法2:使用遞歸

<?php
header("Content-type:text/html;charset=utf-8");
function fbnq($n) {
	if ($n <= 0) {
		return 0;
	}
	if ($n == 1 || $n == 2) {
		return 1;
	}
	return fbnq($n - 1) + fbnq($n - 2);
}

echo "斐波那契數列第10位:" . fbnq(10);
echo "<br>斐波那契數列第11位:" . fbnq(11);
echo "<br>斐波那契數列第12位:" . fbnq(12);
?>

輸出:

PHP中怎么實現黃金分割數列

關于PHP中怎么實現黃金分割數列就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

泾阳县| 宜州市| 五华县| 临洮县| 新闻| 布拖县| 龙岩市| 襄汾县| 铜梁县| 商都县| 宁都县| 嘉黎县| 大厂| 南丰县| 高要市| 玉屏| 大田县| 荥阳市| 广水市| 佛山市| 泸定县| 钦州市| 上林县| 广德县| 阿拉善盟| 额尔古纳市| 永春县| 广灵县| 石楼县| 西盟| 绵阳市| 铁岭县| 尖扎县| 石首市| 苏尼特右旗| 二连浩特市| 云林县| 邹平县| 清镇市| 津南区| 武隆县|