PHP實現菱形與楊輝三角形【php趣味案例】


<?php   
    /**
     * php畫個菱形
     *  
     * 思路:多少行for一次,然后在里面空格和標記符號for一次。
     *  
     * @author jiqing
     * @date 2012-08-02
     *  
     */  
      
    //上半部分  
    for ($i=0; $i<10; $i++){  
        for ($j=0; $j<9-$i; $j++){  
            echo "&nbsp;";  
        }  
        for ($k=0; $k<(2*$i+1); $k++){  
            echo "`";  
        }  
        echo "<br/>";  
    }  
      
    //下半部分  
    for ($i=1; $i<10; $i++){  
        for ($j=0; $j<$i; $j++){  
            echo "&nbsp;";  
        }  
        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]."&nbsp;";  
        }  
        echo "<br/>";  
    }  
      
      
?>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM