6 lines
244 B
Text
6 lines
244 B
Text
josephus_list(n,k):=(result:[],pos:1,ref:makelist(i,i,n),while ref#[] do (pos:mod(pos+k-2,length(ref))+1,push(ref[pos],result),ref:delete(ref[pos],ref)),
|
|
reverse(result));
|
|
/* Example */
|
|
/* last_survivor:last(josephus_list(41,3));
|
|
31
|
|
*/
|