PHP实现的杨辉三角求解算法分析
作者:moTzxx 发布时间:2023-11-19 13:52:29
标签: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程序设计有所帮助。
来源:https://blog.csdn.net/u011415782/article/details/79615054


猜你喜欢
- 本来想把这个页面用jade渲染出来、评论部分用vue,但是想了想觉得麻烦,最后还是整个用vue的组件搞定他吧。 先上在线demo:http:
- ->基础环境Linux:ubuntu 16.04Python ; 2.7->修改hostname1:$sudo hostname
- 一、YAML是什么YAML是专门用来写配置文件的语言,远比JSON格式方便。YAML语言的设计目标,就是方便人类读写。YAML是一种比XML
- 一、pytest.ini说明pytest.ini是pytest的全局配置文件,一般放在项目的根目录下固定的配置文件(pytest.ini),
- 值得庆幸的是,我们可以通过数组的 slice 方法将 arguments 对象转换成真正的数组: var args = Array.prot
- 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过
- 方法说明: 同步版的 stat() 。方法返回一个stat数组对象,包含以下信息:(以下信息为案例中读取的文件信息,非默认值){
- 题目:反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3-
- 描述tan() 返回x弧度的正弦值。语法以下是 tan() 方法的语法:import mathmath.tan(x)注意:tan()是不能直
- 1、在file->settings->file and code templates->python script即可自定
- rfind()方法返回所在子str 被找到的最后一个索引,或者-1,如果没有这样的索引不存在,可选择限制搜索字符串string[
- 1、获取文件的创建、修改、访问时间# -*- encoding=utf-8 -*-import osimport timedef get_f
- Main.jsvar routeList = [];router.beforeEach((to, from, next) => { v
- Goland 项目创建goland2020.3 及以上 IDE,默认创建的 go 项目 就是使用 gomod 管理!goland2020.3
- 首先我要吐槽一下,看程序的过程中遇见了yield这个关键字,然后百度的时候,发现没有一个能简单的让我懂的,讲起来真TM的都是头头是道,什么参
- 本文实例为大家分享了JavaScript实现扫雷小游戏的具体代码,供大家参考,具体内容如下工具:Sublime Text / Dreamwe
- 本文实例为大家分享了python实现学生成绩管理系统的具体代码,供大家参考,具体内容如下需求:代码:import osfilename =
- 用户认证组件:功能:用session记录登录验证状态前提:用户表:django自带的auth-userpython3 manage.py c
- 这篇文章主要介绍了python通过移动端访问查看电脑界面,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- 本文实例为大家分享了pygame实现贪吃蛇小游戏的具体代码,供大家参考,具体内容如下由于这段时间实在是太聊了,没什么事做,游戏也玩腻了,所以