RosettaCodeData/Task/Josephus-problem/Elixir/josephus-problem.elixir

16 lines
307 B
Plaintext

defmodule Josephus do
def find(n,k) do
find(Enum.to_list(0..n-1),0..k-2,k..n)
end
def find([_|[r|_]],_,_..d) when d < 3 do
IO.inspect r
end
def find(arr,a..c,b..d) when length(arr) >= 3 do
find(Enum.slice(arr,b..d) ++ Enum.slice(arr,a..c),a..c,b..d-1)
end
end
Josephus.find(41,3)