Jump to content

Ludic numbers: Difference between revisions

→‎{{header|Elixir}}: used in operator
(fixed)
(→‎{{header|Elixir}}: used in operator)
Line 771:
=={{header|Elixir}}==
<lang elixir>defmodule Ludic do
def numbers,(n do:\\ numbers(100000) do
def numbers(n) when is_integer(n) do
[h|t] = Enum.to_list(1..n)
numbers(t, [h])
Line 779 ⟶ 777:
defp numbers(list, nums) when length(list) < hd(list), do: Enum.reverse(nums, list)
defp numbers([h|_]=list, nums) do
h = hdEnum.with_index(list)
ludic =|> Enum.with_indexfilter_map(listfn{_,i} -> rem(i,h)!=0 |end, fn{n,_} -> n end)
|> numbers(ludic, [h | nums])
Enum.filter_map(fn{_,i} -> rem(i,h)!=0 end, fn{n,_} -> n end)
numbers(ludic, [h | nums])
end
Line 792 ⟶ 789:
IO.puts "2000..2005th: #{ inspect Enum.map(1999..2004, fn i -> elem(tuple, i) end) }"
ludic = numbers(250)
triple = for x<-ludic, Enum.member?(ludic, x+2), Enum.member?(in ludic, x+6) in ludic, do: [x, x+2, x+6]
IO.puts "Triples below 250: #{inspect triple, char_lists: :as_lists}"
end
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.