22 lines
381 B
Text
22 lines
381 B
Text
(* Josephus problem *)
|
|
block
|
|
var
|
|
k, m, n: integer;
|
|
|
|
unit Josephus: function (n, k, m: integer): integer;
|
|
var
|
|
a, j: integer;
|
|
begin
|
|
j := m;
|
|
for a := m + 1 to n do
|
|
j := (j + k) mod a
|
|
od;
|
|
result := j;
|
|
end Josephus;
|
|
|
|
begin
|
|
n := 41;
|
|
k := 3;
|
|
m := 0;
|
|
writeln("N = ", n: 1, ". K = ", k: 1, ". Final survivor = ", Josephus(n, k, m): 1, ".");
|
|
end;
|