<?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].' ';//输出二维数组 } echo '<br />';//换行为了美观 } ?>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。