PHP實現的楊輝三角求解算法分析

這篇文章主要介紹了PHP實現的楊輝三角求解算法,結合實例形式分析了楊輝三角的原理及php實現楊輝三角的相關操作技巧,需要的朋友可以參考下

本文實例講述了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程序設計有所幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章