例子,php打印杨辉三角。
-
-
/** - * 打印杨辉三角:
- * 1
- * 1 1
- * 1 2 1
- * 1 3 3 1
- * 1 4 6 4 1
- * 1 5 10 10 5 1
- * 1 6 15 20 15 6 1
- *
- */
- function yang_hui_san_jiao($n)
- {
- $arr=array(1); //$arr记录上一行的元素
$return_html=' '; //定义一个变量,记录输出的html
//外循环控制行数
- for($i=1;$i<=$n;$i )
- {
- $return_html.='
';
//内循环控制改行元素的个数
- for($j=1;$j<=$i;$j )
- {
- //改行的第一个 和 最后一个元素 始终是1
- if($j==1 || $j==$i)
- {
- $new_arr[$j]=1; // 定义一个新数组$new_arr,记录当前行的元素,
$return_html.=' 1 | ';
- }
- else
- {
- //否则,该元素等于上一行的 相同角标 和 角标-1 两个元素的和
- $new_number=$arr[$j] $arr[$j-1];
- $new_arr[$j]=$new_number; //将元素赋给新数组
$return_html.=' '.$new_number.' | ';
- }
- }
$arr=$new_arr; //把当前行的数组赋给$arr,开始新一轮的循环
$return_html.=' ';
- }
$return_html.=' ';
return $return_html;
- }
//调用函数测试 杨辉三角
- echo yang_hui_san_jiao(10);
- ?>
-
复制代码
|