PHP Fabonacci数列

 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 ?>

你可能感兴趣的:(PHP)