* (all files)
* stripped svn header
* minor cleanups
; use following command to find out the history of files:
git log
git log --follow
git blame
git annotate
44 lines
563 B
Plaintext
44 lines
563 B
Plaintext
|
|
PROCEDURE Main()
|
|
|
|
LOCAL n
|
|
|
|
FOR n := 1 TO 20
|
|
? FibR( n )
|
|
? FibI( n )
|
|
NEXT
|
|
|
|
RETURN
|
|
|
|
FUNCTION FibR( n )
|
|
|
|
LOCAL nFib
|
|
|
|
IF n < 2
|
|
nFib := n
|
|
ELSE
|
|
nFib := FibR( n - 2 ) + FibR( n - 1 )
|
|
ENDIF
|
|
|
|
RETURN nFib
|
|
|
|
FUNCTION FibI( n )
|
|
|
|
LOCAL nFibMin1 := 1
|
|
LOCAL nFibMinN1 := 0
|
|
LOCAL i := 1
|
|
LOCAL nFib
|
|
|
|
IF n < 2
|
|
nFib := n
|
|
ELSE
|
|
DO WHILE i < n
|
|
nFib := nFibMin1 + nFibMinN1
|
|
nFibMinN1 := nFibMin1
|
|
nFibMin1 := nFib
|
|
++i
|
|
ENDDO
|
|
ENDIF
|
|
|
|
RETURN nFib
|