<?php //方法一:二维数组求杨辉三角 /*$n=10; for($i=0;$i<$n;$i++){ for($j=0;$j<=$i;$j++){ if($j==0||$i==$j){ $arr[$i][$j]=1; }else { $arr[$i][$j]=$arr[$i-1][$j]+$arr[$i-1][$j-1]; } echo $arr[$i][$j]."\t"; } echo "<br>"; }*/ //这是老师写的,不过我把它简化了,下面是老师的详解:反正只要看得懂就可以了。 /*$n=10; for($i=0;$i<$n;$i++){ for($j=0;$j<=$i;$j++){ if($i==$j||$j==0){ $arr[$i][$j] = 1; }else{ $arr[$i][$j] = $arr[$i-1][$j]+$arr[$i-1][$j-1]; } } } for($i=0;$i<$n;$i++){ for($j=0;$j<=$i;$j++){ echo $arr[$i][$j]."\t"; } echo "<br>"; }*/ //方法二:一维数组(我同学写的) /*$a=array(1); $b=array(1,1); $n=10; for($i=1;$i<=$n;$i++){ echo "1\t"; for($j=2;$j<$i+1;$j++){ $b[$j] = $a[$j]+$a[$j-1]; echo $b[$j]."\t"; } echo "<br>"; for($j=1;$j<$n;$j++){ $a[$j] = $b[$j]; } }*/ //方法三:网上广为流传的(我还没看明白,欢迎大家留言教我); $a[0]=1; $b[0]=1; $b[1]=1; $n=14; for($i=4;$i<=$n;$i++){ echo "1\t"; for($j=2;$j<$i-2;$j++){ $b[$j]=$a[$j-1]+$a[$j]; echo $b[$j]."\t"; } echo "<br>"; for($j=0;$j<$n;$j++) $a[$j]=$b[$j]; } ?>
最近开始学习php,争取每天都有点小进步;杨辉三角,大家喜欢那种就用那种咯!^_^...
已有1条评论