搜索
首页php教程PHP源码PHP 用二维矩阵生成一个给定层数的杨辉(PASCAL)三角形

跳至 [3] [全屏预览]
<meta charset="utf-8">
<title>杨辉三角形 Pascal Triangle</title>
<?php
if ($_POST['button']){
	
//定义未来三角形的层数为常数 N
define("N",$_POST['number']);

//首先,把用来显示三角形的2维矩阵(2N*(N+1))的每个元素清理成零
for($i=0;$i<N+1;$i++) 
   for($j=0;$j<2*N;$j++)
	$a[$i][$j]= 0;
	
$a[0][N]=1; //再将矩阵第一行中间位置的元素, 赋以 1

/* 这样一来,杨辉三角形的形成规律便是:从第二行开始,
 *  每一个显示数字的元素,其数字的数值是,
 *  它头顶元素的左边邻居的数值,
 *  与它头顶元素的右边邻居的数值之和。
 *  据此,给有关元素赋于相应的值。
*/
for ($i=1;$i<N;$i++) //从第二层开始赋值: $i=1;
   for ($j=1;$j<2*N;$j++) 
   //按上述规律,求左上角元素数值,与右上角元素数值之和
	$a[$i][$j]=$a[$i-1][$j-1]+$a[$i-1][$j+1];

// 打印输出建成的矩阵
echo '你要求建立的'.N.'层杨辉三角形如下:'.'<table>';
for($i=0;$i<N;$i++){
	echo '<tr>';
   	for($j=0;$j<2*N+1;$j++){
	echo '<td  width="35" height="15"><center>';
	if ($a[$i][$j] !=0) //只打印不为零的数字
	echo $a[$i][$j];//只打印不为零的数字,
	echo '</center></td>';
   }
echo '</tr>';
}
echo '</table>';
echo '<br><a href="pascal.php">返回</a>';
}else{
?>
<form action="pascal.php" method="post">
输入层数:
  <input type="number" name="number">
  <input type="submit" name="button" value="提交(最多12层)"> 
 </form>
 <?php 
 } 
 ?>
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

仓库:如何复兴队友
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版