學過程式語言或演算法的,勢必都要接觸到楊輝三角(中國古代數學的傑出研究成果之一)。它本身並不深奧,今天我們就來使用PHP編寫程式來輸出一個4行3列的楊輝三角。
首先我們來了解一下楊輝三角。
楊輝三角是牛頓二項式係數在三角形中的一種幾何排列,它的每一個數都等於上方兩個數總和。
從上圖我們可以輕鬆的找出規律:
每一行前後元素都是1
#第幾行就有幾個元素
從第三行開始,除了每行的首尾,其餘的每一個元素都是上面的兩個相鄰的元素總和(上一行同位置的數上一行同位置的前一位數之和)
找到規律了,我們就可以設定演算法,然後根據演算法設定程序(本文使用數組雙重for循環嵌套的方式來實現楊輝三角。對for循環不了解的,可以查看《PHP循環學習三:如何使用for循環語句遍歷數組》 )
演算法分析:有一個i行j列數組(j小於等於i)
#雙重for循環,第一層循環,遍歷數組的行i;第二層循環,遍歷數組的列j。且陣列的列j值要小於等於陣列的行i值
第二層迴圈體中使用if語句進行判斷,當j=1
或i=j
時,值為$array[i][j] = 1
;
而其他時候, # $array[i][j]
= $array[ i-1 ][ j-1 ]
$array[ i-1 ][ j ]
我們來看看實作功能的PHP程式碼:
<?php function yh_put($max) { $array = []; // 循环列数 for($i = 1; $i <= $max; $i++) { // 循环行数 for( $j=1; $j <= $i; $j++) { // 每行的第一个和最后一个都是1 if( $j == 1 || $j == $i ) { echo $array[$i][$j] = 1; } else { // 上一行同位置的数 + 上一行同位置的前一位数之和 echo $array[$i][$j] = $array[ $i-1 ][ $j-1 ]+$array[ $i-1 ][ $j ]; } echo " "; } echo "<br>"; } unset($array); } yh_put(10);
輸出結果為:
好了就說到這裡了,有其他想知道的,可以點擊這個哦。 → →php影片教學
最後推薦給大家一個PHP陣列的免費影片教學:PHP函數之array陣列函數影片講解,快來學習吧!
以上是如何透過PHP程式取得一個10行的楊輝三角的詳細內容。更多資訊請關注PHP中文網其他相關文章!