PROGRAM "Josephus problem" VERSION "0.0000" DECLARE FUNCTION Entry () DECLARE FUNCTION Josephus (n, k, m) FUNCTION Entry () n = 41 'prisoners k = 3 'order of execution PRINT "n = "; n, "k = "; k, "final survivor = "; Josephus(n, k, 0) END FUNCTION FUNCTION Josephus (n, k, m) lm = m FOR i = m + 1 TO n lm = (lm + k) MOD i NEXT RETURN lm END FUNCTION END PROGRAM