A Maple egy fejlett matematikai problémamegoldó és programozói szoftver.
-
xDJCx #489 Régi kérdés, de érdekességképpen itt egy megoldás a Josephus-problémához Mapleben:
Josephus := proc (n::posint, k::posint)
local L, m;
L := [`$`(1 .. n)]; m := 0;
while 1 < nops(L) do
m := m+1;
L := ListTools[Rotate](L, k-1);
print(m, ".kivégzett: ", L[1]);
L := remove(t-> evalb(t = L[1]) , L):
end do; print("Josephus ", L[1], "-ik a körben.")
end proc;
Josephus(40, 7);
http://www.cut-the-knot.org/recurrence/j_solution.shtml
Összevethető, a link szerint pl.n=100, k=10-nél 26, n=1000, k=3 -nál 604-nek kell lenni.
Josephus(1000, 3);