/**
* 杨辉三角
* 每行的数字总数 和层数相同
* @param int $m 层数
* @param int $n 空格数量
*/
function yanghuisanjiao($m,$n){
$map = array();
for ($i=0;$i<=$m;$i++){
for ($j=0;$j<=$i-1;$j++){
$map[$i][0] =1;
$map[$i][$i-1] =1;
if($i>2 && $j!=0 && $j!=$i-1){
$map[$i][$j] = $map[$i-1][$j] + $map[$i-1][$j-1];
}
}
}
sort($map);
if($map){
foreach ($map as $key=>$val){
ksort($val);
foreach ($val as $k=>$v){
echo $v;
echo str_repeat(' ',$n);
}
echo '<br/>';
}
}
}
yanghuisanjiao(10,3);
突然想学习算法了。这就在网络上找到相关的东西。一步步的来,这个杨辉三角 是自己想的。
写的很粗糙。有更好的想法的同学,可以回复我。咱们共同交流一下
http://www.upwqy.com/details/89.html
最佳答案
