php中怎样输出杨辉三角,php趣味编程 - php 打印杨辉三角

php趣味编程 - php 打印杨辉三角

AAffA0nNPuCLAAAAAElFTkSuQmCC

/*

打印杨辉三角

1

1 1

1 2 1

1 3 3  1

1 4 6  4  1

1 5 10 10 1

$i 来代表行数

$j 来代表一行第几个数

数组$arr 来存 杨辉三角的数

$arr[$i][] =来代表一行的数

我们先来看下杨辉三角的含义:

从第三行开始的数等于它的上一行的数+它上一行左边的数即:

$arr[$i][$j] = $arr[$i-1][$j] + $arr[$i-1][$j-1]

然后每行的第一个数跟最后一个数都是1即

$arr[$i][0] = 1; $arr[$i][$i] = 1

然后输出二维数组

*/

?>

$arr = array();//用来存杨辉三角的数

$i = 10;//要输出的行数

for($n=0;$n

{

$arr[$n][0] = 1; //每行的第一数是1

$arr[$n][$n] = 1; //每行的最后一个是1

}

//每行的第2个数开始等与上一行的数+上一行左边的数

//$arr[0][1] = $arr[0-1][1] + $arr[0-1][1-1];

//$arr[1][1] = $arr[1-1][1] + $arr[1-1][1-1];

//$arr[2][1] = $arr[2-1][1] + $arr[2-1][2-1];

for($m=1;$m

{

/*

因为前面已经定义了第一个元素。接下来从第2个元素开始

$arr[$m][1] = $arr[$m-1][1]+$arr[$m-1][1-1]输出每行的第2个元素

$arr[$m][2] = $arr[$m-1][2]+$arr[$m-1][2-1]输出每行的第3个元素

$arr[$m][3] = $arr[$m-1][3]+$arr[$m-1][3-1]输出每行的第3个元素

一直到$arr[$m][$n] $n = $m 每行的第n个数

*/

for($n=1;$n<=$m;$n++)

{

$arr[$m][$n] = $arr[$m-1][$n] + $arr[$m-1][$n-1];//

}

}

/*

已经把数存到二维数组$arr里面、那么就输出二维数组

*/

//print_r($arr);

for($nn=0;$nn

{

for($mm=0;$mm

{

echo $arr[$nn][$mm].'  ';//输出二维数组

}

echo '
';//换行为了美观

}

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值