对于刚学PHP的新手来讲,用php写杨辉三角形无疑是非常经典的一道练习题,对于逻辑的考验还是相当到位的。
杨辉三角是二项式系数的一种写法,由于排列形状类似于三角形,被称为杨辉三角。杨辉三角以正整数构成,数字左右对称,每行由1开始逐渐变大,然后变小,回到1;杨辉三角的每一个数是它的左上方和右上方的数的和,我们可以将其理解为一个二维数组,通过两次循环来输出数据。
事例代码如下:
$colors = [
1 => '#FF0000', // 红色
2 => '#00FF00', // 绿色
3 => '#0000FF', // 蓝色
4 => '#FFFF00', // 黄色
5 => '#FF00FF', // 紫色
6 => '#00FFFF', // 青色
7 => '#C0C0C0', // 银灰色
8 => '#800080', // 紫色
9 => '#FFA500' // 橙色
];
echo '<table style="border:0;font-size:16pt;font-weight:bold;text-align:center;">';
$row = 9;//行数
$arr = array();
for($i=1;$i<=$row;$i++){
$arr[$i][0] = 1; // 每行的第一个数字总是1
for ($j = 1; $j < $i; $j++) {
$arr[$i][$j] = $arr[$i - 1][$j - 1] + $arr[$i - 1][$j];
}
}
foreach($arr as $k=>$v){
echo '<tr>';
foreach($v as $n){
echo '<td style="background-color: ' . $colors[$k] . '; padding:5px 10px;">'.$n.'</td>';
}
echo '</tr>';
}
echo '</table>';
效果图
目前有 0 条评论