Skip to content

Commit

Permalink
杨辉三角
Browse files Browse the repository at this point in the history
利用二维数组打印杨辉三角
  • Loading branch information
Wang Shurong committed May 17, 2015
1 parent e490fe5 commit b29e3fe
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions YangHuiTriangle.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?php
//杨辉三角

/*
思路分析:
1. 需两层循环,外层循环控层数,内部两个循环,分别控制空格和数字
2. 内部第一个循环控制空格数(空格数=总层数-当前层数),空格打印数量递减
3. 内部第二个循环控制数字数(数字数=当前层数),数字打印数量递增
*/
function YangHui($n){
$arr = array();
// $x 层数
for($x=0; $x<$n; $x++){
// 空格数 = 总层数 - 当前层数
for($y=$x; $y<$n; $y++){
echo '&nbsp;';
}

// 数字数 = 当前层数
for($y=0; $y<=$x; $y++){
//每一行的首元素和尾元素恒为1
if($y==0 || $y==$x){
$arr[$x][$y] = 1;
}else{
$arr[$x][$y] = $arr[$x-1][$y-1] + $arr[$x-1][$y];
}
echo $arr[$x][$y],'&nbsp;';
}

// 别忘了换行
echo '<br/>';
}
}
YangHui(5);
?>

0 comments on commit b29e3fe

Please sign in to comment.