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文件
Jan 04 PHP
PHP下利用header()函数设置浏览器缓存的代码
Sep 01 PHP
PHP5.4中json_encode中文转码的变化小结
Jan 30 PHP
PHP实现读取一个1G的文件大小
Aug 24 PHP
php取得字符串首字母的方法
Mar 25 PHP
谈谈你对Zend SAPIs(Zend SAPI Internals)的理解
Nov 10 PHP
PHP框架性能测试报告
May 08 PHP
php网页版聊天软件实现代码
Aug 12 PHP
Yii 2.0中场景的使用教程
Jun 02 PHP
PHP设计模式之注册树模式分析
Jan 26 PHP
PHP单元测试框架PHPUnit用法详解
Jan 23 PHP
PHP实现微信小程序用户授权的工具类示例
Mar 05 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连接mysql数据库代码
2009/03/10 PHP
让PHP以ROOT权限执行系统命令的方法
2011/02/10 PHP
关于js与php互相传值的介绍
2013/06/25 PHP
PHP调试函数和日志记录函数分享
2015/01/31 PHP
php array_walk 对数组中的每个元素应用用户自定义函数详解
2016/11/18 PHP
总结PHP中初始化空数组的最佳方法
2019/02/13 PHP
PHP实现微信小程序用户授权的工具类示例
2019/03/05 PHP
ThinkPHP框架实现FTP图片上传功能示例
2019/04/08 PHP
php 实现银联商务H5支付的示例代码
2019/10/12 PHP
用tip解决Ext列宽度不够的问题
2008/12/13 Javascript
不安全的常用的js写法
2009/09/15 Javascript
js清空form表单中的内容示例
2014/05/20 Javascript
jQuery+css实现的换页标签栏效果
2016/01/27 Javascript
微信小程序 教程之小程序配置
2016/10/17 Javascript
JavaScript实现的浏览器下载文件的方法
2017/08/09 Javascript
vue2.0 datepicker使用方法
2018/02/04 Javascript
python 从远程服务器下载日志文件的程序
2013/02/10 Python
Python正则表达式知识汇总
2017/09/22 Python
Python+matplotlib+numpy绘制精美的条形统计图
2018/01/02 Python
python 移除字符串尾部的数字方法
2018/07/17 Python
对python创建及引用动态变量名的示例讲解
2018/11/10 Python
Django框架中序列化和反序列化的例子
2019/08/06 Python
Django扫码抽奖平台的配置过程详解
2021/01/14 Python
美国眼镜网站:EyeBuyDirect
2017/04/13 全球购物
EJB3推出JPA的原因
2013/10/16 面试题
医学院校毕业生自荐信范文
2014/01/01 职场文书
在校学生职业规划范文
2014/01/08 职场文书
大型会议接待方案
2014/03/01 职场文书
最新大学生创业计划书写作攻略
2014/04/02 职场文书
大学生求职计划书
2014/04/30 职场文书
市级绿色学校申报材料
2014/08/25 职场文书
反四风对照检查材料
2014/09/22 职场文书
教师批评与自我批评
2014/10/15 职场文书
2014年内勤工作总结
2014/11/24 职场文书
2015年度培训工作总结范文
2015/04/02 职场文书
mysql 获取时间方式
2022/03/20 MySQL