2016 Update
This commit is contained in:
parent
948b86eafa
commit
dcf5d15da3
7965 changed files with 139854 additions and 31002 deletions
|
|
@ -1,26 +1,21 @@
|
|||
defmodule Ludic do
|
||||
def numbers, do: numbers(100000)
|
||||
|
||||
def numbers(n) when is_integer(n) do
|
||||
def numbers(n \\ 100000) do
|
||||
[h|t] = Enum.to_list(1..n)
|
||||
numbers(t, [h])
|
||||
end
|
||||
|
||||
defp numbers(list, nums) when length(list) < hd(list), do: Enum.reverse(nums, list)
|
||||
defp numbers(list, nums) do
|
||||
h = hd(list)
|
||||
ludic = Enum.with_index(list) |>
|
||||
Enum.filter_map(fn{_,i} -> rem(i,h)!=0 end, fn{n,_} -> n end)
|
||||
numbers(ludic, [h | nums])
|
||||
defp numbers([h|_]=list, nums) do
|
||||
Enum.drop_every(list, h) |> numbers([h | nums])
|
||||
end
|
||||
|
||||
def task do
|
||||
IO.puts "First 25 : #{inspect numbers(200) |> Enum.take(25)}"
|
||||
IO.puts "Below 1000: #{length(numbers(1000))}"
|
||||
tuple = numbers(25000) |> List.to_tuple
|
||||
IO.puts "2000..2005th: #{ inspect Enum.map(1999..2004, fn i -> elem(tuple, i) end) }"
|
||||
IO.puts "2000..2005th: #{ inspect for i <- 1999..2004, do: elem(tuple, i) }"
|
||||
ludic = numbers(250)
|
||||
triple = for x<-ludic, Enum.member?(ludic, x+2), Enum.member?(ludic, x+6), do: [x, x+2, x+6]
|
||||
triple = for x <- ludic, x+2 in ludic, x+6 in ludic, do: [x, x+2, x+6]
|
||||
IO.puts "Triples below 250: #{inspect triple, char_lists: :as_lists}"
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue