Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
16
Task/Anonymous-recursion/PHP/anonymous-recursion-1.php
Normal file
16
Task/Anonymous-recursion/PHP/anonymous-recursion-1.php
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<?php
|
||||
function fib($n) {
|
||||
if ($n < 0)
|
||||
throw new Exception('Negative numbers not allowed');
|
||||
$f = function($n) { // This function must be called using call_user_func() only
|
||||
if ($n < 2)
|
||||
return 1;
|
||||
else {
|
||||
$g = debug_backtrace()[1]['args'][0];
|
||||
return call_user_func($g, $n-1) + call_user_func($g, $n-2);
|
||||
}
|
||||
};
|
||||
return call_user_func($f, $n);
|
||||
}
|
||||
echo fib(8), "\n";
|
||||
?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue