算法题:求解斐波那契数列

概念:

斐波那契数列是指以0, 1开始,之后每一项都等于前两项之和的数列,

即:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144……以此类推。

这个数列最早是由13世纪意大利数学家斐波那契提出的,并在数学、自然科学和计算机科学等领域有着广泛的应用。

题目:

若有一只兔子,它每个月生一只小兔子,而小兔子一个月后也开始生产。

起初只有一只兔子,一个月后就有两只兔子,二个月后就有三只兔子,三个月就有五只兔子

以此类推,12个月后有多少只兔子。

分析:

设月为y,上个月数量为k1,上上个月数量为k2,总数为sum

sum = k1 + k2

代码:

$sum = 0; // 总数
$y = 12; // 月份数
$k1 = 1; // 上个月数量
$k2 = 0; // 上上个月数量

// $i从2开始 因为第一个月有一个兔子 也就是上个月有一个兔子
for($i=2;$i<=$y;$i++){
    $sum = $k1 + $k2; // 当月数量
    $k2 = $k1; // 上个月给上上给月
    $k1 = $sum; // 当月数量给上个月
}

echo "12月后数量:".$sum."\n";

结果:

12月后数量:144

 

posted @ 2023-06-12 14:55  波罗斯の程序日记  阅读(23)  评论(0编辑  收藏  举报