PHP算法之楊輝三角

class T{
  private $num;
  public function __construct($var=10) {
    if ($var<3) die("值過小啦!");
    $this->num=$var;
  }
  public function display(){
    $n=$this->num;
    $arr=array();
  //$arr=array_fill(0,$n+1,array_fill(0,$n+1,0));
    $arr[1]=array_fill(0,3,0);
    $arr[1][1]=1;
    echo str_pad("&nbsp;",$n*12,"&nbsp;");
    printf("%3d",$arr[1][1]);
    echo "<br/>";
    for($i=2;$i<=$n;$i++){
      $arr[$i]=array_fill(0,($i+2),0);
      for($j=1;$j<=$i;$j++){
        if($j==1)
          echo str_pad("&nbsp;",($n+1-$i)*12,"&nbsp;");
        printf("%3d",$arr[$i][$j]=$arr[$i-1][$j-1]+$arr[$i-1][$j]);
        echo "&nbsp;&nbsp;";
      }
      echo"<br/>";
    }
  }
}
$yh=new T(); //$yh=new T(數量);
$yh->display();
相關文章
相關標籤/搜索