• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

如何通过PHP程序获取一个10行10列的杨辉三角

php 搞代码 4年前 (2022-01-04) 36次浏览 已收录 0个评论

学过编程语言或算法的,势必都要接触到杨辉三角(中国古代数学的杰出研究成果之一)。它本身并不深奥,今天我们就来使用PHP编写程序来输出一个4行3列的杨辉三角。

首先我们来了解一下杨辉三角

杨辉三角是牛顿二项式系数在三角形中的一种几何排列,它的每一个数都等于上方两个数之和。

从上图我们可以轻松的找出规律:

  • 每一行前后元素都是1

  • 第几行就有几个元素

  • 从第三行开始,除了每行的首尾,其余的每一个元素都是上面的两个相邻的元素之和(上一行同位置的数+上一行同位置的前一位数之和)

找到规律了,我们就可以设置算法,然后根据算法设置

来源gao!%daima.com搞$代*!码网

程序(本文使用数组+for循环的方式来实现杨辉三角。对for循环不了解的,可以查看《PHP循环学习三:如何使用for循环语句遍历数组》)

算法分析:有一个i行j列数组(j小于等于i)

  • 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数组的免费视频教程:PHP函数之array数组函数视频讲解,快来学习吧!

以上就是如何通过PHP程序获取一个10行10列的杨辉三角的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:如何通过PHP程序获取一个10行10列的杨辉三角

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址