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和ACCESS写聊天室(一)
Oct 09 PHP
实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法
Jun 11 PHP
php5.3中连接sqlserver2000的两种方法(com与ODBC)
Dec 29 PHP
php后门URL的防范
Nov 12 PHP
PHP的foreach中使用引用时需要注意的一个问题和解决方法
May 29 PHP
php版淘宝网查询商品接口代码示例
Jun 17 PHP
PHP脚本监控Nginx 502错误并自动重启php-fpm
May 13 PHP
PHP测试成功的邮件发送案例
Oct 26 PHP
PHP异常处理Exception类
Dec 11 PHP
php源码的安装方法和实例
Sep 26 PHP
设定php简写功能的方法
Nov 28 PHP
Laravel Eloquent分表方法并使用模型关联的实现
Nov 25 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
2.PHP入门
2006/10/09 PHP
分享五个PHP7性能优化提升技巧
2015/12/07 PHP
Yii2框架redis基本应用示例
2018/07/13 PHP
JQuery中的ready函数冲突的解决方法
2010/05/17 Javascript
js+数组实现网页上显示时间/星期几的实用方法
2013/01/18 Javascript
JS取文本框中最小值的简单实例
2013/11/29 Javascript
JavaScript原型链示例分享
2014/01/26 Javascript
jquery淡化版banner异步图片文字效果切换图片特效
2014/04/08 Javascript
jQuery选择器源码解读(四):tokenize方法的Expr.preFilter
2015/03/31 Javascript
javascript操作ul中li的方法
2015/05/14 Javascript
JavaScript生成福利彩票双色球号码
2015/05/15 Javascript
JavaScript中isPrototypeOf函数作用和使用实例
2015/06/01 Javascript
jQuery 3.0中存在问题及解决办法
2016/07/15 Javascript
jQuery Easyui使用(二)之可折叠面板动态加载无效果的解决方法
2016/08/17 Javascript
使用Ajax与服务器(JSON)通信实例
2016/11/04 Javascript
javascript实现根据函数名称字符串动态执行函数的方法示例
2016/12/28 Javascript
通过AngularJS实现图片上传及缩略图展示示例
2017/01/03 Javascript
JS实现前端缓存的方法
2017/09/21 Javascript
vuex如何重置所有state(可定制)
2019/01/17 Javascript
layui 上传图片 返回图片地址的方法
2019/09/26 Javascript
浅谈vue-props的default写不写有什么区别
2020/08/09 Javascript
vue swipeCell滑动单元格(仿微信)的实现示例
2020/09/14 Javascript
[00:48]完美“圣”典2016风云人物:xiao8宣传片
2016/11/30 DOTA
Linux上安装Python的PIL和Pillow库处理图片的实例教程
2016/06/23 Python
对pandas通过索引提取dataframe的行方法详解
2019/02/01 Python
Python原始套接字编程实例解析
2020/01/29 Python
迪奥官网:Dior.com
2018/12/04 全球购物
ECCO英国官网:丹麦鞋履品牌
2019/09/03 全球购物
医药工作者的求职信范文
2013/09/21 职场文书
2013年高中生自我评价
2013/10/23 职场文书
会计电算化个人求职信范文
2014/01/24 职场文书
新学期开学演讲稿
2014/05/24 职场文书
承诺书范本
2015/01/21 职场文书
人事文员岗位职责
2015/02/04 职场文书
运动员入场词
2015/07/18 职场文书
Java字符缓冲流BufferedWriter
2022/04/09 Java/Android