RosettaCodeData/Task/Josephus-problem/MoonRock/josephus-problem.moonrock

23 lines
456 B
Text
Raw Permalink Normal View History

2026-04-30 12:34:36 -04:00
' 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