PHP Fabonacci数列

本文介绍了两种不同的方法来计算Fibonacci数列:一种是使用递归的方式,另一种是非递归的方式。递归方法虽然直观但效率较低;非递归方法通过循环实现了更高的效率。
 1 <?php
 2     #Fibonacci数列问题
 3     #f(1) = 1
 4     #f(n) = f(n - 1) + f(n - 2)
 5     #求f(n)
 6 
 7     #递归方法
 8     function fibonacci($n) {
 9         if ($n == 0) {
10             return 0;
11         }
12 
13         if ($n == 1) {
14             return 1;
15         }
16 
17         return fibonacci($n - 1) + fibonacci($n - 2);
18     }
19 
20     #非递归方法
21     function fibonacci_norec($n) {
22         $a = 0;
23         $b = 1;
24 
25         for ($i = 2; $i <= $n; $i++) {
26             $c = $a + $b;
27             $a = $b;
28             $b = $c;
29         }
30 
31         return $c;
32     }
33 
34     echo fibonacci(10);
35     echo "<br>";
36     echo fibonacci_norecr(10);
37 ?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值