二十三、杨辉三角 【使用二维数组输出】
2015-01-17 23:18
204 查看
<?php
//输出杨辉三角图
$n = 8;
echo "<pre>";
for($i = 1; $i <= $n; ++$i){
for($k = 1; $k <= $i; ++$k){
if($k == 1 || $k == $i){//对于每一行的最前最后一个
$arr[$i][$k] = 1;
}
else{//对于其他数据:根据规律要找“前一行”数据
if($i > 1){//如果是非第一行:一般规律
//实际上,这个if($i > 1)的判断,根据后面else中的分析,是没必要写的
$arr[$i][$k] = $arr[$i-1][$k] + $arr[$i-1][$k-1];
}
else{
//这里,本来是应该处理“第一行”的情况,
//但是:对于第一行,在前面的if($k == 1 || $k == $i)
//中,已经包括该情况,即根本不会进入本else语句块
//如果想不清楚,你就干脆:$arr[1][1] = 1;
}
}
echo $arr[$i][$k];
echo "\t";
}
echo "<br />";
}
echo "</pre>";
简写完整的杨辉三角
<?php
//输出n行杨辉三角 (n可以任意指定) 可以使用二维数组
function yhsj($n){
for($i=1;$i<=$n;$i++){
for($j=1;$j<=$i;$j++){
if($j==1 || $j==$i){
$arr[$i][$j]=1;
}else{
$arr[$i][$j]=$arr[$i-1][$j]+$arr[$i-1][$j-1];
}
echo $arr[$i][$j]." ";
}
echo "<br/>";
}
}
yhsj(8);
<?php
//输出杨辉三角图
$n = 8;
echo "<pre>";
for($i = 1; $i <= $n; ++$i){
for($k = 1; $k <= $i; ++$k){
if($k == 1 || $k == $i){//对于每一行的最前最后一个
$arr[$i][$k] = 1;
}
else{//对于其他数据:根据规律要找“前一行”数据
if($i > 1){//如果是非第一行:一般规律
//实际上,这个if($i > 1)的判断,根据后面else中的分析,是没必要写的
$arr[$i][$k] = $arr[$i-1][$k] + $arr[$i-1][$k-1];
}
else{
//这里,本来是应该处理“第一行”的情况,
//但是:对于第一行,在前面的if($k == 1 || $k == $i)
//中,已经包括该情况,即根本不会进入本else语句块
//如果想不清楚,你就干脆:$arr[1][1] = 1;
}
}
echo $arr[$i][$k];
echo "\t";
}
echo "<br />";
}
echo "</pre>";
简写完整的杨辉三角
<?php
//输出n行杨辉三角 (n可以任意指定) 可以使用二维数组
function yhsj($n){
for($i=1;$i<=$n;$i++){
for($j=1;$j<=$i;$j++){
if($j==1 || $j==$i){
$arr[$i][$j]=1;
}else{
$arr[$i][$j]=$arr[$i-1][$j]+$arr[$i-1][$j-1];
}
echo $arr[$i][$j]." ";
}
echo "<br/>";
}
}
yhsj(8);
相关文章推荐
- java数组学习之二:使用二维数组输出杨辉三角
- 使用二维数组输出杨辉三角!
- 使用strtuts2的iterator标签循环输出二维数组和嵌套集合
- 使用for循环输出杨辉三角
- java使用一维数组输出杨辉三角
- 【java】使用二维数组输出矩阵
- C语言:利用二维数组输出杨辉三角的前10行 程序是怎样的
- 利用二维数组 输出10行杨辉三角
- 使用for()嵌套循环输出二维数组
- java 使用二维数组打印一个10行杨辉三角;
- Java基础应用之循环控制(使用for循环输出杨辉三角)
- 08-使用for循环输出杨辉三角(循环)
- 若干种使用指针输出二维数组中元素的方式
- java使用for循环输出杨辉三角
- python 学习-使用生成器输出杨辉三角和斐波拉契数列
- 使用Struts标签输出二维数组
- Java使用for循环输出杨辉三角
- 第6章 数组----遍历数组(使用二维数组输出一个3行4列且所有元素都是0的矩阵)
- 使用for循环输出杨辉三角
- 二维数组的使用(new,delete,初始化,输出)