Hallo,
aus der Literatur habe ich ein Beispiel zur Berechnung der
fibonacci Reihe als Rekursion und als Iteration vorgefunden.
Die iterative Berechnung funktioniert, nicht jedoch die
rekursive Berechnung:
DELIMITER $$
DROP PROCEDURE IF EXISTS `rec_fib` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `rec_fib`(n INT, out out_fib INT)
BEGIN
DECLARE n_1 INT;
DECLARE n_2 INT;
IF (n=0) THEN
SET out_fib=0;
ELSEIF (n=1) then
SET out_fib=1;
ELSE
CALL rec_fib(n-1,n_1);
CALL rec_fib(n-2,n_2);
SET out_fib=(n_1 + n_2);
END IF;
END $$
DELIMITER ;
Hat jemand eine Idee wo der Haken versteckt ist.
Besten Dank im Voraus.
aus der Literatur habe ich ein Beispiel zur Berechnung der
fibonacci Reihe als Rekursion und als Iteration vorgefunden.
Die iterative Berechnung funktioniert, nicht jedoch die
rekursive Berechnung:
DELIMITER $$
DROP PROCEDURE IF EXISTS `rec_fib` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `rec_fib`(n INT, out out_fib INT)
BEGIN
DECLARE n_1 INT;
DECLARE n_2 INT;
IF (n=0) THEN
SET out_fib=0;
ELSEIF (n=1) then
SET out_fib=1;
ELSE
CALL rec_fib(n-1,n_1);
CALL rec_fib(n-2,n_2);
SET out_fib=(n_1 + n_2);
END IF;
END $$
DELIMITER ;
Hat jemand eine Idee wo der Haken versteckt ist.
Besten Dank im Voraus.
Comment