PHPによるアルゴリズム フィボナッチ数 再帰解・非再帰解
2022-08-26
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
```