PHP实现的杨辉三角求解算法分析


Posted in PHP onMarch 11, 2019

本文实例讲述了PHP实现的杨辉三角求解算法。分享给大家供大家参考,具体如下:

♥ 前言

对于 杨辉三角 是什么的问题,请参考百度百科的详细解释: 杨辉三角

杨辉三角,是二项式系数在三角形中的一种几何排列。在欧洲,这个表叫做帕斯卡三角形。帕斯卡(1623—-1662)是在1654年发现这一规律的,比杨辉要迟393年,比贾宪迟600年。杨辉三角是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种 离散型的数与形 的结合

PHP实现的杨辉三角求解算法分析

♠ 代码实现

  • 题目的要求是:设计代码,实现打印 杨辉三角 的功能
  • 此处提供的参考代码为 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程序中的常见漏洞进行攻击(上)
Oct 09 PHP
php.ini 中文版
Oct 28 PHP
php中取得URL的根域名的代码
Mar 23 PHP
php学习之运算符相关概念
Jun 09 PHP
PHP Class&amp;Object -- PHP 自排序二叉树的深入解析
Jun 25 PHP
PHP中的switch语句的用法实例详解
Oct 21 PHP
CI(Codeigniter)的Setting增强配置类实例
Jan 06 PHP
php实现图片缩略图的方法
Mar 29 PHP
微信支付PHP SDK ―― 公众号支付代码详解
Sep 13 PHP
PHP经典算法集锦【经典收藏】
Sep 14 PHP
PHP常用字符串函数小结(推荐)
Aug 05 PHP
PHP后期静态绑定之self::限制实例分析
Dec 21 PHP
PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】
Mar 11 #PHP
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
Mar 11 #PHP
PHP join()函数用法与实例讲解
Mar 11 #PHP
PHP lcfirst()函数定义与用法
Mar 08 #PHP
浅谈PHPANALYSIS提取关键字
Mar 08 #PHP
PHP levenshtein()函数用法讲解
Mar 08 #PHP
PHP implode()函数用法讲解
Mar 08 #PHP
You might like
PHP脚本中include文件出错解决方法
2008/11/20 PHP
php的闭包(Closure)匿名函数详解
2015/02/22 PHP
PHP记录页面停留时间的方法
2016/03/30 PHP
PHP使用curl_multi_select解决curl_multi网页假死问题的方法
2018/08/15 PHP
Javascript学习笔记2 函数
2010/01/11 Javascript
使用jQuery.Validate进行客户端验证(初级篇) 不使用微软验证控件的理由
2010/06/28 Javascript
JavaScript调用客户端的可执行文件(示例代码)
2013/11/28 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
JavaScript插件化开发教程 (二)
2015/01/27 Javascript
Javascript动画的实现原理浅析
2015/03/02 Javascript
jQuery简单实现遍历数组的方法
2015/04/14 Javascript
js控制div弹出层实现方法
2015/05/11 Javascript
JavaScript两个变量交换值的实现方法
2017/03/01 Javascript
Node.js简单入门前传
2017/08/21 Javascript
Windows下支持自动更新的Electron应用脚手架的方法
2018/12/24 Javascript
JavaScript两种计时器的实例讲解
2019/01/31 Javascript
小程序实现层叠卡片滑动效果
2019/08/26 Javascript
Vuex modules模式下mapState/mapMutations的操作实例
2019/10/17 Javascript
小程序采集录音并上传到后台
2019/11/22 Javascript
JS实现动态无缝轮播
2020/01/11 Javascript
vue项目打包后请求地址错误/打包后跨域操作
2020/11/04 Javascript
Python模拟登陆实现代码
2017/06/14 Python
python实现旋转和水平翻转的方法
2018/10/25 Python
python opencv肤色检测的实现示例
2020/12/21 Python
检测用户浏览器是否支持CSS3的方法
2009/08/29 HTML / CSS
利用CSS3伪元素实现逐渐发光的方格边框
2017/05/07 HTML / CSS
利用html5 canvas动态画饼状图的示例代码
2018/04/02 HTML / CSS
使用分层画布来优化HTML5渲染的教程
2015/05/08 HTML / CSS
转党组织关系介绍信
2014/01/08 职场文书
员工晚婚的请假条
2014/02/08 职场文书
不服从公司安排检讨书
2014/09/24 职场文书
领导班子四风问题对照检查材料
2014/09/27 职场文书
对照四风自我剖析材料
2014/10/07 职场文书
php7中停止php-fpm服务的方法详解
2021/05/09 PHP
浅析NIO系列之TCP
2021/06/15 Java/Android
Win11怎么修改电源模式?Win11修改电源模式的方法
2022/04/05 数码科技