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 变量类型的强制转换
Oct 23 PHP
php5 non-thread-safe和thread-safe这两个版本的区别分析
Mar 13 PHP
PHP下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
Jun 09 PHP
PHP setTime 设置当前时间的代码
Aug 27 PHP
PHP笔记之:日期函数的使用介绍
Apr 24 PHP
关于PHP堆栈与列队的学习
Jun 21 PHP
分享下php5类中三种数据类型的区别
Jan 26 PHP
composer.lock文件的作用
Feb 03 PHP
中高级PHP程序员应该掌握哪些技术?
Sep 23 PHP
YII2框架中excel表格导出的方法详解
Jul 21 PHP
Laravel 自定命令以及生成文件的例子
Oct 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&amp;java(三)
2006/10/09 PHP
手把手教你使用DedeCms V3的在线采集图文教程
2007/04/03 PHP
详解PHP中的mb_detect_encoding函数使用方法
2015/08/18 PHP
[原创]CI(CodeIgniter)简单统计访问人数实现方法
2016/01/19 PHP
ThinkPHP实现图片上传操作的方法详解
2017/05/08 PHP
javascript实现动态CSS换肤技术的脚本
2007/06/29 Javascript
jquery 实现二级/三级/多级联动菜单的思路及代码
2013/04/08 Javascript
Ubuntu中搭建Nodejs开发环境过程分享
2014/06/01 NodeJs
Javscript调用iframe框架页面中函数的方法
2014/11/01 Javascript
JS实现的通用表单验证插件完整实例
2015/08/20 Javascript
js倒计时抢购实例
2015/12/20 Javascript
js控制div层的叠加简单方法
2016/10/15 Javascript
微信小程序左右滑动切换页面详解及实例代码
2017/02/28 Javascript
Angular中实现树形结构视图实例代码
2017/05/05 Javascript
详解使用jQuery.i18n.properties实现js国际化
2018/05/04 jQuery
jQuery实现根据身份证号获取生日、年龄、性别等信息的方法
2019/01/09 jQuery
ES6入门教程之变量的解构赋值详解
2019/04/13 Javascript
vue实现图片懒加载的方法分析
2020/02/05 Javascript
vue 调用 RESTful风格接口操作
2020/08/11 Javascript
python聊天程序实例代码分享
2013/11/18 Python
python 列表降维的实例讲解
2018/06/28 Python
对pandas通过索引提取dataframe的行方法详解
2019/02/01 Python
Python 批量刷博客园访问量脚本过程解析
2019/08/30 Python
python根据文本生成词云图代码实例
2019/11/15 Python
解决Django响应JsonResponse返回json格式数据报错问题
2020/08/09 Python
python excel多行合并的方法
2020/12/09 Python
CSS3中Transform动画属性用法详解
2016/07/04 HTML / CSS
巴西购物网站:Submarino
2020/01/19 全球购物
网络技术支持面试题
2013/04/22 面试题
职业生涯规划怎么写
2013/12/29 职场文书
写给女朋友的检讨书
2014/01/28 职场文书
中专生自我鉴定范文
2014/02/02 职场文书
服装店营销方案
2014/03/10 职场文书
2014党员民主评议个人思想剖析发言
2014/09/19 职场文书
化验室安全管理制度
2015/08/06 职场文书
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
2022/01/18 PostgreSQL