Initial data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 72d218235f
commit f23f22d71c
199087 changed files with 3378941 additions and 0 deletions

View file

@ -0,0 +1,8 @@
PROCEDURE Fib(n: INTEGER): INTEGER =
BEGIN
IF n < 2 THEN
RETURN n;
ELSE
RETURN Fib(n-1) + Fib(n-2);
END;
END Fib;

View file

@ -0,0 +1,36 @@
PROCEDURE IterFib(n: INTEGER): INTEGER =
VAR
limit := ABS(n);
prev := 0;
curr, next: INTEGER;
BEGIN
(* trivial case *)
IF n = 0 THEN RETURN 0; END;
IF n > 0 THEN (* positive case *)
curr := 1;
FOR i := 2 TO limit DO
next := prev + curr;
prev := curr;
curr := next;
END;
ELSE (* negative case *)
curr := -1;
FOR i := 2 TO limit DO
next := prev - curr;
prev := curr;
curr := next;
END;
END;
RETURN curr;
END IterFib;