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 相关文章推荐
dede3.1分页文字采集过滤规则详说(图文教程)续四
Apr 03 PHP
一个很不错的PHP翻页类
Jun 01 PHP
phpMyAdmin 链接表的附加功能尚未激活的问题
Aug 01 PHP
利用Memcached在php下实现session机制 替换PHP的原生session支持
Aug 21 PHP
PHP学习之整理字符串
Apr 17 PHP
探讨方法的重写(覆载)详解
Jun 08 PHP
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
May 08 PHP
PHP实现的博客欢迎提示功能(很特别哦)
Jun 05 PHP
php几个预定义变量$_SERVER用法小结
Nov 07 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
Nov 16 PHP
Django 中 cookie的使用
Aug 17 PHP
PHP实现的猴王算法(猴子选大王)示例
Apr 30 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
PHP随机生成唯一HASH值自定义函数
2015/04/20 PHP
php实现的验证码文件类实例
2015/06/18 PHP
Yii2中如何使用modal弹窗(基本使用)
2016/05/30 PHP
手把手编写PHP框架 深入了解MVC运行流程
2016/09/19 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
2016/09/22 PHP
详解PHP处理字符串类似indexof的方法函数
2017/06/11 PHP
Laravel5.7框架安装与使用学习笔记图文详解
2019/04/02 PHP
jquery.post用法示例代码
2014/01/03 Javascript
js实现通用的微信分享组件示例
2014/03/10 Javascript
js实现a标签超链接提交form表单的方法
2015/06/24 Javascript
简介EasyUI datagrid editor combogrid搜索框的实现
2016/04/01 Javascript
jQuery代码实现图片墙自动+手动淡入淡出切换效果
2016/05/09 Javascript
AngularJs表单验证实例详解
2016/05/30 Javascript
jQuery实现的可编辑表格完整实例
2016/06/20 Javascript
微信小程序 es6-promise.js封装请求与处理异步进程
2017/06/12 Javascript
vue子父组件通信的实现代码
2017/07/09 Javascript
Angularjs之ngModel中的值验证绑定方法
2018/09/13 Javascript
vue动态绘制四分之三圆环图效果
2019/09/03 Javascript
vue excel上传预览和table内容下载到excel文件中
2019/12/10 Javascript
Vue移动端实现图片上传及超过1M压缩上传
2019/12/23 Javascript
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
2020/05/29 jQuery
Python函数式编程指南(四):生成器详解
2015/06/24 Python
python爬虫基本知识
2018/03/05 Python
Python实现字典(dict)的迭代操作示例
2018/06/05 Python
python requests爬取高德地图数据的实例
2018/11/10 Python
python字符串替换第一个字符串的方法
2019/06/26 Python
springboot配置文件抽离 git管理统 配置中心详解
2019/09/02 Python
使用python 将图片复制到系统剪贴中
2019/12/13 Python
python TCP包注入方式
2020/05/05 Python
英国DIY汽车维修配件网站:DIY Car Service Parts
2019/08/30 全球购物
Java基础面试题
2014/07/19 面试题
党校培训思想汇报
2014/01/03 职场文书
上班早退检讨书
2014/01/09 职场文书
致铅球运动员广播稿精选
2014/01/12 职场文书
2015庆祝七一建党节94周年活动总结
2015/03/20 职场文书