RosettaCodeData/Task/Josephus-problem/XBasic/josephus-problem.basic

22 lines
381 B
Plaintext

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