如何通过PHP程序获取一个10行的杨辉三角
时间:2021-08-19
来源:互联网
今天PHP爱好者给大家带来如何通过PHP程序获取一个10行的杨辉三角的方法,学过编程语言或算法的,势必都要接触到杨辉三角(中国古代数学的杰出研究成果之一)。它本身并不深奥,今天我们就来使用PHP编写程序来输出一个4行3列的杨辉三角。希望对大家有所帮助。
首先我们来了解一下杨辉三角。
杨辉三角是牛顿二项式系数在三角形中的一种几何排列,它的每一个数都等于上方两个数之和。
从上图我们可以轻松的找出规律:
每一行前后元素都是1
第几行就有几个元素
从第三行开始,除了每行的首尾,其余的每一个元素都是上面的两个相邻的元素之和(上一行同位置的数+上一行同位置的前一位数之和)
找到规律了,我们就可以设置算法,然后根据算法设置程序(本文使用数组+双重for循环嵌套的方式来实现杨辉三角。对for循环不了解的,可以查看《PHP循环学习三:如何使用for循环语句遍历数组》)
算法分析:有一个i行j列数组(j小于等于i)
双重for循环,第一层循环,遍历数组的行i;第二层循环,遍历数组的列j。且数组的列j值要小于等于数组的行i值
第二层循环体中使用if语句进行判断,当
j=1
或者i=j
时,值为$array[i][j] = 1
;而其他时候,
$array[i][j]
=$array[ i-1 ][ j-1 ]
+$array[ i-1 ][ j ]
我们来看看实现功能的PHP程序代码:
<?php
function yh_put($max) {
$array = [];
// 循环列数
for($i = 1; $i <= $max; $i++) {
// 循环行数
for( $j=1; $j <= $i; $j++) {
// 每行的第一个和最后一个都是1
if( $j == 1 || $j == $i ) {
echo $array[$i][$j] = 1;
} else {
// 上一行同位置的数 + 上一行同位置的前一位数之和
echo $array[$i][$j] = $array[ $i-1 ][ $j-1 ]+$array[ $i-1 ][ $j ];
}
echo " ";
}
echo "<br>";
}
unset($array);
}
yh_put(10);
输出结果为:
好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程
以上就是如何通过PHP程序获取一个10行的杨辉三角的详细内容,更多请关注php爱好者其它相关文章!
-
Web3 安全入门避坑指南(钱包被恶意多签风险分析) 时间:2025-04-30
-
比特币隔离钱包是什么?比特币隔离钱包有什么好处? 时间:2025-04-30
-
多重签名钱包是什么意思?多重签名钱包地址如何恢复? 时间:2025-04-30
-
MetaMask充值/提现/Swap/添加地址流程 时间:2025-04-30
-
什么是BTC 钱包?了解其定义、类型和用法 时间:2025-04-30
-
Rabby 与 MetaMask:哪个是更好的加密钱包? 时间:2025-04-30
今日更新
-
教程篇:如何利用ps制作漩涡创意效果海报(技巧分享)
阅读:18
-
js如何使用索引访问数组对象中的元素
阅读:18
-
Angular父子组件间怎么进行通信?父子传值的方式浅析
阅读:18
-
PHP字符串学习之如何返回汉字或混合字符的长度
阅读:18
-
ps新手篇:如何利用滤镜制成烟花效果(总结)
阅读:18
-
你知道JavaScript中的可迭代对象与迭代器吗
阅读:18
-
VSCode如何进行Python开发?开发环境配置介绍
阅读:18
-
使用js要如何计算元素的位置
阅读:18
-
PHP如何将给定子串换成*号(大小写敏感)
阅读:18
-
javascript如何删除数组首尾元素?
阅读:18