欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          PHP和黃金分割數(shù)列的完美邂逅(不可錯過)

          生活中,我們用肉眼分辨為美的事物,常常神奇地包含了黃金分割比,此時就不得不感嘆一下:數(shù)學(xué)的美麗無處不在。而黃金分割數(shù)列(又稱斐波那契數(shù)列)的后一項(xiàng)與前一項(xiàng)比值的極限就是二分之根號五減一,約等于0.618(即黃金分割比例)。那么使用PHP要如何實(shí)現(xiàn)黃金分割數(shù)列呢,不急,我們慢慢來了解。

          首先我們來了解一下黃金分割數(shù)列(即斐波那契數(shù)列):

          斐波那契數(shù)列指的是這樣一個數(shù)列:

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

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

          規(guī)律公式為:

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

          • F:指當(dāng)前這個數(shù)列

          • n:指數(shù)列的下標(biāo)

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

          方法1:利用數(shù)組

          觀察上面給出的數(shù)列,結(jié)合數(shù)組知識,可以分析出:

          • 數(shù)組下標(biāo)為0或1時,元素的值為1;

          • 數(shù)組下標(biāo)為2時,元素是a[0]+a[1];

          • 數(shù)組下標(biāo)為3時,元素是a[1]+a[2];

          • …..

          • 數(shù)組下標(biāo)為n時,元素是a[n-2]+a[n-1];

          可以得出:

          • a[0]=1

          • a[1]=2

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

          代碼實(shí)現(xiàn):

          <?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 "斐波那契數(shù)列前10位:"; test(10); echo "<br>斐波那契數(shù)列前11位:"; test(11); echo "<br>斐波那契數(shù)列前12位:"; test(12); ?>

          輸出:

          PHP和黃金分割數(shù)列的完美邂逅(不可錯過)

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

          方法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 "斐波那契數(shù)列第10位:" . fbnq(10); echo "<br>斐波那契數(shù)列第11位:" . fbnq(11); echo "<br>斐波那契數(shù)列第12位:" . fbnq(12); ?>

          輸出:

          PHP和黃金分割數(shù)列的完美邂逅(不可錯過)

          遞歸法也實(shí)現(xiàn)出來了,是不是很簡單!

          遞歸算法可以將一個負(fù)責(zé)的問題使用較短的代碼將問題解決出來,但是運(yùn)行的效率比較低。

          好了就說到這里了,有其他想知道的,可以點(diǎn)擊這個哦?!?→php視頻教程

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號