RosettaCodeData/Task/Fibonacci-sequence/MoonRock/fibonacci-sequence.moonrock
2026-04-30 12:34:36 -04:00

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