<?php
/**
* php畫個菱形
*
* 思路:多少行for一次,然后在里面空格和標記符號for一次。
*
* @author jiqing
* @date 2012-08-02
*
*/
//上半部分
for ($i=0; $i<10; $i++){
for ($j=0; $j<9-$i; $j++){
echo " ";
}
for ($k=0; $k<(2*$i+1); $k++){
echo "`";
}
echo "<br/>";
}
//下半部分
for ($i=1; $i<10; $i++){
for ($j=0; $j<$i; $j++){
echo " ";
}
for ($k=(18-2*$i+1); $k>0; $k--){
echo "`";
}
echo "<br/>";
}
/**
* PHP實現楊輝三角
*
* 思路:每一行的第一位和最后一位是1,沒有變化,中間是前排一位與左邊一排的和,這種算法是用一個二維數組保存,一行一行的輸出。
* 1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
*
* @author jiqing
* @date 2012-08-02
*
*/
//變量初始化
$arr = array();
//設置固定值1
for ($i=0; $i<6; $i++){
$arr[$i][0] = 1;
$arr[$i][$i] = 1;
}
//計算中間值
for ($i=2; $i<6; $i++){
for ($j=1; $j<$i; $j++){
$arr[$i][$j] = $arr[$i-1][$j-1] + $arr[$i-1][$j];
}
}
//排列輸出展示
for ($i=0; $i<count($arr); $i++){
for ($j=0; $j<count($arr[$i]); $j++){
echo $arr[$i][$j]." ";
}
echo "<br/>";
}
?>