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

♠ 代碼實現(xiàn)
- 題目的要求是:設計代碼,實現(xiàn)打印 楊輝三角 的功能
- 此處提供的參考代碼為 PHP,其他語言可參考推敲
①. 第一種方法
使用兩個 for 循環(huán)進行輸出,比較好理解
/**
* 第一種代碼實現(xiàn)
* @param int $n 要求的層數(shù)
* 理解思路: $i代表行數(shù); $j代表列數(shù)
*/
public function funYH($n = 1){
//初始化數(shù)組
$arr = [];
for($i = 0;$i < $n;$i++){
//注意循環(huán)條件
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 循環(huán)
/**
* 第二種代碼實現(xiàn)
* @param int $n 要求的層數(shù)
*/
public function funYH2($n = 1){
//初始化數(shù)組
$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數(shù)據結構與算法教程》、《php程序設計算法總結》、《php字符串(string)用法總結》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結》及《PHP數(shù)學運算技巧總結》
希望本文所述對大家PHP程序設計有所幫助。
相關文章
php rmdir使用遞歸函數(shù)刪除非空目錄實例詳解
我們大家都知道,php rmdir()函數(shù)用于刪除空目錄,但如果要刪除非空目錄,我們必須將非空目錄中的文件或子目錄刪除,本文章向大家介紹php如何使用遞歸函數(shù)刪除非空目錄,需要的朋友可以參考一下2016-10-10
php使用number_format函數(shù)截取小數(shù)的方法分析
這篇文章主要介紹了php使用number_format函數(shù)截取小數(shù)的方法,結合實例形式分析了number_format函數(shù)進行浮點數(shù)數(shù)學運算的相關技巧,需要的朋友可以參考下2016-05-05
php多次include后導致全局變量global失效的解決方法
這篇文章主要介紹了php多次include后導致全局變量global失效的解決方法,實例分析了$GLOBALS失效的原理與解決方法,具有一定參考借鑒價值,需要的朋友可以參考下2015-02-02

