You are on page 1of 1

CREATE OR REPLACE FUNCTION fib (n POSITIVE) RETURN INTEGER IS pos1 INTEGER := 1; pos2 INTEGER := 0; cum INTEGER; BEGIN IF (n = 1) OR (n = 2) THEN

RETURN 1; ELSE cum := pos1 + pos2; FOR i IN 3 .. n LOOP pos2 := pos1; pos1 := cum; cum := pos1 + pos2; END LOOP; RETURN cum; END IF; END fib;

You might also like