LOCAL p As Integer, i As Integer CLEAR p = 0 ? "Hofstadter Q Sequence" ? "First 10 terms:" FOR i = 1 TO 10 ?? Q(i, @p) ENDFOR ? "1000th term:", Q(1000, @p) ? "100000th term:", q(100000, @p) ? "Number of terms less than the preceding term:", p FUNCTION Q(n As Integer, k As Integer) As Integer LOCAL i As Integer LOCAL ARRAY aq[n] aq[1] = 1 IF n > 1 aq[2] = 1 ENDIF k = 0 FOR i = 3 TO n aq[i] = aq[i - aq[i-1]] + aq[i-aq[i-2]] IF aq(i) < aq(i-1) k = k + 1 ENDIF ENDFOR RETURN aq[n] ENDFUNC