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 常见郁闷问题答解
Nov 25 PHP
php disk_free_space 返回目录可用空间
May 10 PHP
PHP获取文件绝对路径的代码(上一级目录)
May 29 PHP
php字符串分割函数explode的实例代码
Feb 07 PHP
关于php内存不够用的快速解决方法
Oct 26 PHP
PHP的变量类型和作用域详解
Mar 12 PHP
Codeigniter实现发送带附件的邮件
Mar 19 PHP
PHP数组和explode函数示例总结
May 08 PHP
深入浅析php json 格式控制
Dec 24 PHP
PDO::_construct讲解
Jan 27 PHP
CodeIgniter框架实现的整合Smarty引擎DEMO示例
Mar 28 PHP
PHP上传图片到数据库并显示的实例代码
Dec 20 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将时间差转换为字符串提示
2011/09/07 PHP
LotusPhp笔记之:Logger组件的使用方法
2013/05/06 PHP
使用php伪造referer的方法 利用referer防止图片盗链
2014/01/20 PHP
php按百分比生成缩略图的代码分享
2014/05/10 PHP
php微信公众开发之获取周边酒店信息的方法
2014/12/22 PHP
PHP中功能强大却很少使用的函数实例小结
2016/11/10 PHP
PHP 获取指定地区的天气实例代码
2017/02/08 PHP
PHP检测数据类型的几种方法(总结)
2017/03/04 PHP
JS中剪贴板兼容性、判断复制成功或失败
2021/03/09 Javascript
javascript 面向对象编程基础:继承
2009/08/21 Javascript
JS 打印界面的CSS居中代码适用所有浏览器
2014/03/19 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
2014/05/04 Javascript
JS+CSS实现自动改变切换方向图片幻灯切换效果的方法
2015/03/02 Javascript
JavaScript跨浏览器获取页面中相同class节点的方法
2015/03/03 Javascript
Nodejs 发送Post请求功能(发短信验证码例子)
2017/02/09 NodeJs
关于vue.js过渡css类名的理解(推荐)
2017/04/10 Javascript
微信小程序实现登录页云层漂浮的动画效果
2017/05/05 Javascript
JavaScrpt中如何使用 cookie 设置查看与删除功能
2017/07/09 Javascript
关于vue面试题汇总
2018/03/20 Javascript
vue导出html、word和pdf的实现代码
2018/07/31 Javascript
scrapyd schedule.json setting 传入多个值问题
2019/08/07 Javascript
原生javascript制作贪吃蛇小游戏的方法分析
2020/02/26 Javascript
[59:00]OG vs TNC 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
探究Python中isalnum()方法的使用
2015/05/18 Python
Centos Python2 升级到Python3的简单实现
2016/06/21 Python
python对象与json相互转换的方法
2019/05/07 Python
Python 字符串处理特殊空格\xc2\xa0\t\n Non-breaking space
2020/02/23 Python
Python之qq自动发消息的示例代码
2021/02/18 Python
越南综合购物网站:Lazada越南
2019/06/10 全球购物
JRE、JDK、JVM之间的关系怎样
2012/05/16 面试题
干部鉴定材料
2014/05/18 职场文书
农民工工资保障承诺书
2015/05/04 职场文书
2016个人先进事迹材料范文
2016/03/01 职场文书
员工工作失职检讨书范文!
2019/07/03 职场文书
python 实现德洛内三角剖分的操作
2021/04/22 Python
了解MySQL查询语句执行过程(5大组件)
2022/08/14 MySQL