REM
REM Fibonacci numbers - 8/8/2009 - PvE.
REM Recursive function demonstration.
REM Revised November 2009.
REM

FUNCTION fibonacci(NUMBER n)

    LOCAL x, y

    IF n EQ 0 OR n EQ 1 THEN
        RETURN n
    ELSE
        x = fibonacci(n - 1)
        y = fibonacci(n - 2)
        RETURN x + y
    END IF

END FUNCTION

SPLIT ARGUMENT$ BY " " TO arg$ SIZE dim

IF dim < 2 THEN
    PRINT "Usage: fibonacci <value>"
    END
END IF

PRINT fibonacci(VAL(arg$[1])) FORMAT "%ld\n"