$n=5;//层数
for($i=1;$i<$n;$i++){
//输出空格,实现一个倒的直角三角形
for($j=$n-$i;$j>=1;$j--){
echo "$nbsp";
}
//输出每一行的星星,第一行1个,第二行3,以此类推,公式为2*$n-1;
for($k=1;$k<=2*$n-1;$k++){
echo '*';
}
echo '<br/>';
}
效果图如下:
逻辑:
0x1:首先,看规律,找到每行星星个数,第一行1个,第二行3个,第三行5个,以此类推,得出每一行输出星的个数与行之间的规律为2n-1;
0x2:星星前面的空格,我们可以把它看成是一个由空格组成的倒三角形,最低行星星前面的空格为0,倒数第二行前面为1,倒数第三行空格为2,直到第一行空格为4,那么可以得出规律,每行的空格数为总行数-当前行.
so,规律都找到了.