本文實例講述了PHP實現的楊輝三角求解算法。分享給大家供大家參考,具體如下:
♥ 前言
對于 楊輝三角 是什么的問題,請參考百度百科的詳細解釋: 楊輝三角
楊輝三角,是二項式系數在三角形中的一種幾何排列。在歐洲,這個表叫做帕斯卡三角形。帕斯卡(1623—-1662)是在1654年發現這一規律的,比楊輝要遲393年,比賈憲遲600年。楊輝三角是中國古代數學的杰出研究成果之一,它把二項式系數圖形化,把組合數內在的一些代數性質直觀地從圖形中體現出來,是一種 離散型的數與形 的結合

♠ 代碼實現
- 題目的要求是:設計代碼,實現打印 楊輝三角 的功能
- 此處提供的參考代碼為 PHP,其他語言可參考推敲
①. 第一種方法
使用兩個 for
循環進行輸出,比較好理解
/**
* 第一種代碼實現
* @param int $n 要求的層數
* 理解思路: $i代表行數; $j代表列數
*/
public function funYH($n = 1){
//初始化數組
$arr = [];
for($i = 0;$i $n;$i++){
//注意循環條件
for($j = 0;$j = $i;$j++){
if($j == 0 || $i == $j){
$arr[$i][$j] = 1;
}else {
$arr[$i][$j] = $arr[$i-1][$j-1]+$arr[$i-1][$j];
}
echo $arr[$i][$j]."\t";
}
echo "br/>";
}
}
②. 第二種方法
使用的是 while
循環
/**
* 第二種代碼實現
* @param int $n 要求的層數
*/
public function funYH2($n = 1){
//初始化數組
$arrL = [1,1];
//初始化索引
$index = 0;
while ($index $n){
if ($index == 0){
echo $arrL[$index]."\t";
}elseif ($index == 1){
echo $arrL[$index - 1]."\t".$arrL[$index]."\t";
}else{
$oldL = $arrL;
for ($i = 0;$i = count($oldL);$i++){
$arrL[$i] = $oldL[$i-1] + $oldL[$i];
echo $arrL[$i]."\t";
}
}
$index ++;
echo "br/>";
}
}
③. 輸出結果
輸出的結果是相同的,參考如下:

更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP數據結構與算法教程》、《php程序設計算法總結》、《php字符串(string)用法總結》、《PHP數組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結》及《PHP數學運算技巧總結》
希望本文所述對大家PHP程序設計有所幫助。
您可能感興趣的文章:- PHP寫楊輝三角實例代碼
- 深入理解PHP幾個算法:PHP冒泡、PHP二分法、PHP求素數、PHP乘法表
- PHP求最大子序列和的算法實現
- php 3行代碼的分頁算法(求起始頁和結束頁)
- php實現猴子選大王問題算法實例
- PHP貪婪算法解決0-1背包問題實例分析
- php約瑟夫問題解決關于處死犯人的算法
- PHP基于回溯算法解決n皇后問題的方法示例
- PHP使用棧解決約瑟夫環問題算法示例
- PHP基于遞歸算法解決兔子生兔子問題
- PHP實現的解漢諾塔問題算法示例