您的位置:首页 > 编程语言 > PHP开发

PHP实现菱形与杨辉三角形【php趣味案例】

2012-08-02 16:44 309 查看
<?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/>";
}

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: