首页 > 代码库 > php实现菲波那切数列和杨辉三角
php实现菲波那切数列和杨辉三角
1.递归 显示斐波那契数列
<?PHP
function recursion($num){
//判断是否小于0
if($num<0){
return -1;
}
if($num==1){
return 0;
}
if($num==2 || $num==3){
return 1;
}
return recursion($num-1)+recursion($num-2);
}
//循环显示
for($i=1;$i<=20;$i++) {
$str .= ‘,‘,recursion($i);
}
$str = substr($str,1);
echo $str;
?>
2.迭代 显示斐波那契数列
function diedai($num){
if($num<1){
return -1;
}
//默认前两位为1
$arr[0] = 0;
$arr[1] = 1;
for ($i=2; $i <$num ; $i++) {
$arr[$i] = $arr[$i-1]+$arr[$i-2];
}
return implode(‘,‘, $arr);
}
echo diedai(6);
?>
3. 杨辉三角
<table border="1">
<?php
$num = 14;
$arr = array();
for($i=1;$i<=$num;$i++)
{
echo "<tr>";
for($j=1;$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 "<td>";
echo $arr[$i][$j];
echo "</td>";
}
echo "</tr>";
}
?>
php实现菲波那切数列和杨辉三角