Files
harbour-core/tests/fib.prg
vszakats a4a357a18b 2013-03-15 11:12 UTC+0100 Viktor Szakats (harbour syenar.net)
* /harbour/* -> /*
    * moved whole Harbour source tree one level up to
      avoid single 'harbour' top dir
2013-03-15 11:13:30 +01:00

47 lines
578 B
Plaintext

/*
* $Id$
*/
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