RosettaCodeData/Task/Josephus-problem/MoonRock/josephus-problem.moonrock
2026-04-30 12:34:36 -04:00

22 lines
456 B
Text

' Josephus problem
BEGIN DEF
pointer word JosephusPtr~
SUB CalcJosephus(N%, K%, M%, JosephusPtr~)
BEGIN CODE
N% = 41
K% = 3
M% = 0
CALL CalcJosephus(N%, K%, M%, VARPTR(Josephus%))
PRINT "N = " + N% + ", K = " + K% + ", Final survivor = " + Josephus% + "\n"
END
SUB CalcJosephus(N%, K%, M%, JosephusPtr~)
[JosephusPtr~] = M%
MPl1% = M% + 1
FOR A% = Mpl1% TO N%
[JosephusPtr~] = [JosephusPtr~] + K%
[JosephusPtr~] = [JosephusPtr~] MOD A%
NEXT
END SUB