【原创】用PHP代码实现杨辉三角

【原创】用PHP代码实现杨辉三角

面试题目:用PHP代码实现上图所示的杨辉三角模型,输入第n行,m位置,可以获得所对应的数值。

解题方案:【面试题非原创,方案为原创】

$tmp = array();
$n = 6; $m = 3;  // 第n行,m位置
for($i=1; $i<=$n; $i++){
    for($j=1; $j<=$i; $j++){
        // 将数值上面的两个数值初始化,默认为0
        $right = $left = 0;
        if(isset($tmp[$i-1][$j-2])){
            $left = $tmp[$i-1][$j-2];
        }
        if(isset($tmp[$i-1][$j-1])){
            $right = $tmp[$i-1][$j-1];
        }
        // 如果两个都代表0,即同时不存在,则代表是第一行,使其相加默认为1
        if($left == 0 && $right == 0){
            $new = 1;
        }else{
            $new = $left+$right;
        }
        $tmp[$i][] = $new;
    }
}
var_dump($tmp);  // 符合规律的杨辉三角模型
$res = $tmp[$n][$m-1];  // 第6行的第3个数
var_dump($res);  // 10

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据