* /harbour/* -> /*
* moved whole Harbour source tree one level up to
avoid single 'harbour' top dir
47 lines
578 B
Plaintext
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
|