例子,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 {
- $return_html.='
'; //内循环控制改行元素的个数
- for($j=1;$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);
- ?>
-
复制代码
|