php怎么输出杨辉三角形
时间 : 2023-03-01 15:46:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

PHP可以通过循环和数学知识,实现输出杨辉三角形。杨辉三角形是一种由数字或符号排列成的等腰三角形,其中第n行有n列。从上到下,相邻两层之间的数字互相等于加法的和。该模式的最终目的是用来计算二项式系数。比如,3行的杨辉三角形为:

1

1 1

1 2 1

如何用PHP实现杨辉三角形的输出?

1.使用 for 循环构建外部循环:

<?php

$rows = 10;

for ($i=1; $i<=$rows; $i++)

{

2.使用 for 循环构建二重循环,并将数据插入变量$num:

$num = 1;

for ($k=1;$k<=$i;$k++)

{

3.将数据插入变量$num,并判断是否是最后一行:

if ($k==$i)

echo $num;

else

echo $num."*";

4.计算上一行的数据:

$num = $num * ($i - $k + 1) / $k;

}

echo "<br/>";

}

?>

上面就是实现杨辉三角形输出的代码。如果要计算任意行的数据,可以修改第一行代码,将$rows数值调节即可。

杨辉三角形是一种数学概念,它是由一个正三角形构成,每个格子都包含一个数字,这些数字按规律出现。有许多不同的方法可以使用PHP语言来输出杨辉三角形,一下是最常用的几种输出方法:

1、使用for循环和数组:首先,我们可以使用一个外围循环,每次循环判断当前行数,然后创建一个数组用于放置每行的所有便是:

<?php

  // 杨辉三角

  $rows = 10; // 行数

  for($i=0; $i<$rows; $i++){

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

    $num[$i][$i] = 1; // 初始化

    // 遍历,构建杨辉三角形

    for($j=1; $j<$i; $j++){

      $num[$i][$j] = $num[$i-1][$j-1] + $num[$i-1][$j];

    }

  }

  // 输出

  for($i=0; $i<$rows; $i++){

    for($j=0; $j<=$i; $j++){

      echo $num[$i][$j]." ";

    }

    echo "<br/>";

  }

?>

2、使用数学公式:另外一种方法就是使用数学公式,通过相乘来求得:

<?php

// 杨辉三角

  $rows = 10; // 行数

  for($i=0; $i<=$rows;$i++){

    $unum[$i] = 1; // 初始化

    for($j=$i-1;$j>0;$j--){

      $unum[$j] = $unum[$j] + $unum[$j-1];

    }

    // 输出

    for($j=0;$j<=$i;$j++){

      echo $unum[$j]." ";

    }

    echo "<br/>";

  }

?>

3、使用递归:使用递归方法可以轻松完成杨辉三角