Files
harbour-core/tests/fib.prg
vszakats 9687850865 2013-03-16 02:10 UTC+0100 Viktor Szakats (harbour syenar.net)
* (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
2013-03-16 02:11:42 +01:00

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