Files
harbour-core/tests/fib.prg
Przemysław Czerpak 96ca3fe470 2014-01-21 20:41 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* Makefile
  * config/*
  * contrib/*
  * doc/*
  * extras/*
  * include/*
  * lib/*
  * package/*
  * src/*
  * tests/*
  * utils/*
    * removed empty lines left after removed '$' + 'Id' + '$' identifiers
2014-01-21 20:41:05 +01:00

43 lines
562 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