rendered paste body<?php
class fibonacci {
public static function recursiva ($n){
if ($n < 2){
return $n;
}else {
return self::recursiva($n - 1) + self::recursiva($n - 2);
}
}
public static function interactiva ($n){
$a = 1;
$b = 0;
for ($i = 0; $i < $n; $i++){
$y = $a + $b;
$a = $b;
$b = $y;
}
return $b;
}
public static function matriz($n){
if ($n <= 0) return 0;
$i = $n - 1;
$a = 1;
$b = 0;
$c = 0;
$d = 1;
while ($i > 0) {
if($i%2){
$a = (($b*$d) + ($a*$c) );
$b = ($d*($b + $a) + ($c*$d));
}
$c = (pow($c,2) + pow($d, 2));
$d = $d *((2*$c)+$d);
$i = $i/2;
}
return $a + $b;
}
}
echo fibonacci::recursiva(25) . "\n";
echo fibonacci::interactiva(25) . "\n";
echo fibonacci::matriz(25) . "\n";
?>