PHP实现的杨辉三角求解算法分析
时间:2022-07-27
本文章向大家介绍PHP实现的杨辉三角求解算法分析,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文实例讲述了PHP实现的杨辉三角求解算法。分享给大家供大家参考,具体如下:
♥ 前言
对于 杨辉三角 是什么的问题,请参考百度百科的详细解释: 杨辉三角
杨辉三角,是二项式系数在三角形中的一种几何排列。在欧洲,这个表叫做帕斯卡三角形。帕斯卡(1623—-1662)是在1654年发现这一规律的,比杨辉要迟393年,比贾宪迟600年。杨辉三角是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种 离散型的数与形 的结合
♠ 代码实现
- 题目的要求是:设计代码,实现打印 杨辉三角 的功能
- 此处提供的参考代码为 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字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》及《PHP数学运算技巧总结》
希望本文所述对大家PHP程序设计有所帮助。
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- 一分钟学Python| Python的运算符 (上)
- JS开发必须知道的41个技巧【持续更新】
- PermissionX重磅更新,支持自定义权限提醒对话框
- 给Swagger换了个新皮肤,瞬间高大上了!
- 学习 | egg.js 中间件和插件
- Django template层之json报文遍历总结
- 015.Nginx重定向
- 明了 | MongoDB 外键的基本使用
- 优雅 | koa处理异常
- iOS开发之Context Menus
- 快速解释如何使用pandas的inplace参数
- bam格式转bigWig
- 46. Vue路由传参的基本使用
- H3C在端口同时配置MAC地址认证和802.1x
- proxmox notes