27 lines
524 B
Plaintext
27 lines
524 B
Plaintext
MODULE Josephus;
|
|
FROM FormatString IMPORT FormatString;
|
|
FROM Terminal IMPORT WriteString,WriteLn,ReadChar;
|
|
|
|
PROCEDURE Josephus(n,k : INTEGER) : INTEGER;
|
|
VAR a,m : INTEGER;
|
|
BEGIN
|
|
m := 0;
|
|
FOR a:=1 TO n DO
|
|
m := (m + k) MOD a;
|
|
END;
|
|
RETURN m
|
|
END Josephus;
|
|
|
|
VAR
|
|
buf : ARRAY[0..63] OF CHAR;
|
|
n,k,i : INTEGER;
|
|
nl,kl,il : LONGCARD;
|
|
BEGIN
|
|
n := 41;
|
|
k := 3;
|
|
FormatString("n = %i, k = %i, final survivor: %i\n", buf, n, k, Josephus(n, k));
|
|
WriteString(buf);
|
|
|
|
ReadChar
|
|
END Josephus.
|