PHPによるアルゴリズム フィボナッチ数 再帰解・非再帰解

snow
2022-08-26
snow
2022-08-26

説明

株分析の時に使うことがあるかもww

アルゴリズム:

https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A3%E3%83%9C%E3%83%8A%E3%83%83%E3%83%81%E6%95%B0

PHPソース:

再帰解
```
<?php

function fib($n) {
if ($n == 1 || $n ==2) {
return 1;
}
else {
return fib($n-1) + fib($n-2);
}
}

for($n=1; $n<31; $n++) {
print("$n: " . fib($n) . "\n");
}
```

非再帰解
```
<?php

function fib($n) {
$a = $b = 1;
for ($i=3; $i<=$n; $i++) {
$t = $b;
$b = $a + $b;
$a = $t;
}
return $b;
}

for($n=1; $n<31; $n++) {
print("$n: " . fib($n) . "\n");
}
```


結果:


```
1: 1
2: 1
3: 2
4: 3
5: 5
6: 8
7: 13
8: 21
9: 34
10: 55
11: 89
12: 144
13: 233
14: 377
15: 610
16: 987
17: 1597
18: 2584
19: 4181
20: 6765
21: 10946
22: 17711
23: 28657
24: 46368
25: 75025
26: 121393
27: 196418
28: 317811
29: 514229
30: 832040
```