温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-08-10 12:45:03 来源:亿速云 阅读:137 作者:小新 栏目:编程语言

这篇文章给大家分享的是有关怎么通过PHP程序获取一个10行10列的杨辉三角的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

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

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

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

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

  • 每一行前后元素都是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程序获取一个10行10列的杨辉三角

感谢各位的阅读!关于“怎么通过PHP程序获取一个10行10列的杨辉三角”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI