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 相关文章推荐
ftp类(myftp.php)
Oct 09 PHP
拼音码表的生成
Oct 09 PHP
PHP 可阅读随机字符串代码
May 26 PHP
php url地址栏传中文乱码解决方法集合
Jun 25 PHP
php array_unique之后json_encode需要注意
Jan 02 PHP
php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
May 04 PHP
PHP文件锁函数flock()详细介绍
Nov 18 PHP
PHP 自动加载的简单实现(推荐)
Aug 12 PHP
Laravel学习教程之model validation的使用示例
Oct 23 PHP
Laravel框架实现的批量删除功能示例
Jan 16 PHP
tp5框架无刷新分页实现方法分析
Sep 26 PHP
php实现商城购物车的思路和源码分析
Jul 23 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 魔术函数使用说明
2010/05/14 PHP
thinkPHP中create方法与令牌验证实例浅析
2015/12/08 PHP
PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例
2016/04/14 PHP
Laravel基础-关于引入公共文件的两种方式
2019/10/18 PHP
通过DOM脚本去设置样式信息
2010/09/19 Javascript
JS中不为人知的五种声明Number的方式简要概述
2013/02/22 Javascript
jquery ajax中使用jsonp的限制解决方法
2013/11/22 Javascript
JavaScript中的acos()方法使用详解
2015/06/14 Javascript
js代码实现点击按钮出现60秒倒计时
2021/01/28 Javascript
javascript实现一个简单的弹出窗
2016/02/22 Javascript
jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法
2016/11/16 Javascript
Angular.Js之Scope作用域的学习教程
2017/04/27 Javascript
移动端H5页面返回并刷新页面(BFcache)的方法
2018/11/06 Javascript
JS 封装父页面子页面交互接口的实例代码
2019/06/25 Javascript
JS实现动态倒计时功能(天数、时、分、秒)
2019/12/12 Javascript
解决echarts图表使用v-show控制图表显示不全的问题
2020/07/19 Javascript
[38:21]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS Newbee
2018/03/31 DOTA
python使用append合并两个数组的方法
2015/04/28 Python
合并百度影音的离线数据( with python 2.3)
2015/08/04 Python
Python2.7基于淘宝接口获取IP地址所在地理位置的方法【测试可用】
2017/06/07 Python
Python基于sklearn库的分类算法简单应用示例
2018/07/09 Python
Python爬虫框架Scrapy基本用法入门教程
2018/07/26 Python
python实现简单flappy bird
2018/12/24 Python
python opencv 批量改变图片的尺寸大小的方法
2019/06/28 Python
python实现快递价格查询系统
2020/03/03 Python
Python如何将函数值赋给变量
2020/04/28 Python
H&M美国官网:欧洲最大的服饰零售商
2016/09/07 全球购物
消防先进事迹材料
2014/02/10 职场文书
《骑牛比赛》教后反思
2014/04/22 职场文书
课外活动总结范文
2014/07/09 职场文书
领导干部“四风”问题批评与自我批评材料
2014/09/24 职场文书
《玩出了名堂》教学反思
2016/02/17 职场文书
纯CSS实现酷炫的霓虹灯效果
2021/04/13 HTML / CSS
如何制作自己的原生JavaScript路由
2021/05/05 Javascript
python中sqllite插入numpy数组到数据库的实现方法
2021/06/21 Python
配置nginx负载均衡
2022/05/06 Servers