33 lines
502 B
Text
33 lines
502 B
Text
' Fibonacci sequence
|
|
|
|
BEGIN DEF
|
|
pointer dword FibPtr~ ' Why "pointer dword" must be in lower case?
|
|
SUB CalcFib(N%, FibPtr~)
|
|
|
|
BEGIN CODE
|
|
PRINT "Enter n for fib(n): "
|
|
INPUT SN$
|
|
N% = VAL(SN$)
|
|
PRINT "\n"
|
|
CALL CalcFib(N%, VARPTR(Fib&))
|
|
PRINT Fib& + "\n"
|
|
END
|
|
|
|
SUB CalcFib(N%, FibPtr~)
|
|
IF N% = 0 THEN
|
|
Fib& = 0
|
|
ELSE
|
|
IF N% = 1 THEN
|
|
Fib& = 1
|
|
ELSE
|
|
Prev& = 0
|
|
Fib& = 1
|
|
FOR I% = 2 TO N%
|
|
T& = Fib&
|
|
Fib& = Prev& + Fib&
|
|
Prev& = T&
|
|
NEXT
|
|
ENDIF
|
|
ENDIF
|
|
[FibPtr~] = Fib&
|
|
END SUB
|