RosettaCodeData/Task/Hofstadter-Q-sequence/Modula-2/hofstadter-q-sequence.mod2
2023-07-01 13:44:08 -04:00

23 lines
455 B
Text

MODULE QSequence;
FROM InOut IMPORT WriteString, WriteCard, WriteLn;
VAR n: CARDINAL;
Q: ARRAY [1..1000] OF CARDINAL;
BEGIN
Q[1] := 1;
Q[2] := 1;
FOR n := 3 TO 1000 DO
Q[n] := Q[n-Q[n-1]] + Q[n-Q[n-2]];
END;
WriteString("The first 10 terms are:");
FOR n := 1 TO 10 DO
WriteCard(Q[n],2);
END;
WriteLn();
WriteString("The 1000th term is:");
WriteCard(Q[1000],4);
WriteLn();
END QSequence.