为了账号安全,请及时绑定邮箱和手机立即绑定

php趣味编程 - php 打印杨辉三角

标签:
PHP

php趣味编程 - php 打印杨辉三角

wKiom1LOGYPSdoT_AAAbMpEaA_o517.jpg

<?php

/*

打印杨辉三角

1

1 1

1 2 1

1 3 3  1

1 4 6  4  1

1 5 10 10 1

$i 来代表行数

$j 来代表一行第几个数

数组$arr 来存 杨辉三角的数

$arr[$i][] =来代表一行的数

我们先来看下杨辉三角的含义:

从第三行开始的数等于它的上一行的数+它上一行左边的数即:

$arr[$i][$j] = $arr[$i-1][$j] + $arr[$i-1][$j-1]

然后每行的第一个数跟最后一个数都是1即

$arr[$i][0] = 1; $arr[$i][$i] = 1

然后输出二维数组

*/

?>

<?php

    $arr = array();//用来存杨辉三角的数

    $i = 10;//要输出的行数

        

    for($n=0;$n<$i;$n++)

    {

        $arr[$n][0] = 1; //每行的第一数是1

        $arr[$n][$n] = 1; //每行的最后一个是1

    }

    //每行的第2个数开始等与上一行的数+上一行左边的数

    //$arr[0][1] = $arr[0-1][1] + $arr[0-1][1-1];

    //$arr[1][1] = $arr[1-1][1] + $arr[1-1][1-1];

    //$arr[2][1] = $arr[2-1][1] + $arr[2-1][2-1];

    for($m=1;$m<$i;$m++)//输出从第一行的

    {

        /*

        因为前面已经定义了第一个元素。接下来从第2个元素开始

        $arr[$m][1] = $arr[$m-1][1]+$arr[$m-1][1-1]输出每行的第2个元素

        $arr[$m][2] = $arr[$m-1][2]+$arr[$m-1][2-1]输出每行的第3个元素

        $arr[$m][3] = $arr[$m-1][3]+$arr[$m-1][3-1]输出每行的第3个元素

        一直到$arr[$m][$n] $n = $m 每行的第n个数

        */

        for($n=1;$n<=$m;$n++)

        {

            $arr[$m][$n] = $arr[$m-1][$n] + $arr[$m-1][$n-1];//

        }

    }

        

    /*

    已经把数存到二维数组$arr里面、那么就输出二维数组

    */

    //print_r($arr);

    for($nn=0;$nn<sizeof($arr);$nn++)

    {

        for($mm=0;$mm<sizeof($arr[$nn]);$mm++)

        {

            echo $arr[$nn][$mm].'&nbsp;&nbsp;';//输出二维数组

        }

        echo '<br />';//换行为了美观

    }

        ?>

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 1
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消