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 相关文章推荐
Apache2 httpd.conf 中文版
Nov 17 PHP
PHP $_SERVER详解
Jan 16 PHP
phpmyadmin MySQL 加密配置方法
Jul 05 PHP
PHP小程序自动提交到自助友情连接
Nov 24 PHP
PHP源代码数组统计count分析
Aug 02 PHP
php中字符串和正则表达式详解
Oct 23 PHP
PHP扩展开发教程(总结)
Nov 04 PHP
php基于session锁防止阻塞请求的方法分析
Aug 07 PHP
PHP使用SMTP邮件服务器发送邮件示例
Aug 28 PHP
laravel框架之数据库查出来的对象实现转化为数组
Oct 23 PHP
TP5框架实现的数据库备份功能示例
Apr 05 PHP
php png失真的原因及解决办法
Nov 17 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
Win2000+Apache+MySql+PHP4+PERL安装使用小结
2006/10/09 PHP
php 获取文件行数的方法总结
2016/10/11 PHP
老生常谈PHP面向对象之注册表模式
2017/05/26 PHP
php使用scandir()函数扫描指定目录下所有文件示例
2019/06/08 PHP
jquery(hide方法)隐藏指定元素实例
2013/11/11 Javascript
使用js实现一个可编辑的select下拉列表
2014/02/20 Javascript
html的DOM中Event对象onabort事件用法实例
2015/01/21 Javascript
JQuery中serialize()用法实例分析
2015/02/06 Javascript
DOM操作一些常用的属性汇总
2015/03/13 Javascript
Javascript中prototype属性实现给内置对象添加新的方法
2015/05/14 Javascript
javascript内存分配原理实例分析
2017/04/10 Javascript
JavaScript实现提交模式窗口后刷新父窗口数据的方法
2017/06/16 Javascript
jquery实现点击a链接,跳转之后,该a链接处显示背景色的方法
2018/01/18 jQuery
微信小程序radio组件使用详解
2018/01/31 Javascript
Angular2之二级路由详解
2018/08/31 Javascript
vue+element实现打印页面功能
2019/05/20 Javascript
微信小程序图片加载失败时替换为默认图片的方法
2019/12/09 Javascript
ES6 proxy和reflect的使用方法与应用实例分析
2020/02/15 Javascript
Python实现一个转存纯真IP数据库的脚本分享
2017/05/21 Python
Python将多个excel表格合并为一个表格
2021/02/22 Python
Python高级特性切片(Slice)操作详解
2018/09/27 Python
python实现nao机器人手臂动作控制
2019/04/29 Python
创建Django项目图文实例详解
2019/06/06 Python
python scatter函数用法实例详解
2020/02/11 Python
python json load json 数据后出现乱序的解决方案
2020/02/27 Python
Django如何使用jwt获取用户信息
2020/04/21 Python
python3.x中安装web.py步骤方法
2020/06/23 Python
vscode配置anaconda3的方法步骤
2020/08/08 Python
Html5移动端弹幕动画实现示例代码
2018/08/27 HTML / CSS
新浪网技术部笔试题
2016/08/26 面试题
客户服务经理岗位职责
2014/01/29 职场文书
2014植树节活动总结
2014/03/11 职场文书
党员四风问题对照检查材料
2014/09/27 职场文书
岳庙导游词
2015/02/04 职场文书
2015年平安创建工作总结
2015/04/29 职场文书
浅谈Redis在直播场景的实践方案
2021/04/27 Redis