Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -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;
|
||||
36
Task/Fibonacci-sequence/Modula-3/fibonacci-sequence-2.mod3
Normal file
36
Task/Fibonacci-sequence/Modula-3/fibonacci-sequence-2.mod3
Normal 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;
|
||||
Loading…
Add table
Add a link
Reference in a new issue