Quantcast
Channel: 吴军伟的博客 »后端杂谈
Viewing all articles
Browse latest Browse all 4

php打印杨辉三角

$
0
0

代码如下:

<?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
 *
 * @author		WuJunwei
 * @Email       1399952803@qq.com
 * @link		http://www.wujunwei.net
 *
 */
function yang_hui_san_jiao($n)
{
	$arr=array(1); //$arr记录上一行的元素

	$return_html='<table>';  //定义一个变量,记录输出的html

	//外循环控制行数
	for($i=1;$i<=$n;$i++)
	{
		$return_html.='<tr>';

		//内循环控制改行元素的个数
		for($j=1;$j<=$i;$j++)
		{
			//改行的第一个 和 最后一个元素 始终是1
			if($j==1 || $j==$i)
			{
				$new_arr[$j]=1;  // 定义一个新数组$new_arr,记录当前行的元素,

				$return_html.='<td>1</td>';
			}
			else   
			{
				//否则,该元素等于上一行的 相同角标 和 角标-1 两个元素的和
				$new_number=$arr[$j]+$arr[$j-1]; 
				$new_arr[$j]=$new_number;  //将元素赋给新数组

				$return_html.='<td>'.$new_number.'</td>';
			}
		}

		$arr=$new_arr;  //把当前行的数组赋给$arr,开始新一轮的循环

		$return_html.='</tr>';
	}

	$return_html.='</table>';

	return $return_html;
}

//调用函数测试
echo yang_hui_san_jiao(10);

?>

Viewing all articles
Browse latest Browse all 4

Latest Images

Trending Articles





Latest Images