Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Author: Xelez
- let removeAt index input =
- input
- |> List.mapi (fun i el -> (i <> index, el))
- |> List.filter fst |> List.map snd
- let rec solve = function
- | ([x], index) -> x
- | (list, index) ->
- let k = (index + 4) % (List.length list)
- let newlist = list |> (removeAt k)
- solve (newlist, k)
- let main input =
- solve (input, 0)
- let rec calc_k = function
- | 1 -> 1
- | n ->
- let rec_k = calc_k (n-1)
- 1 + (rec_k + 5 - 1) % n
- let checker input =
- let k = input |> List.length |> calc_k
- List.nth input (k-1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement