Catalan numbers/Pascal's triangle: Difference between revisions

Added Elixir
(Added Elixir)
Line 4:
Related Tasks:
[[Pascal's triangle]]
 
=={{header|360 Assembly}}==
For maximum compatibility, this program uses only the basic instruction set.
Line 274 ⟶ 275:
{{out}}
<pre>1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 2674440 9694845 </pre>
 
=={{header|Elixir}}==
<lang elixir>defmodule Catalan do
def numbers(num) do
{result,_} = Enum.reduce(1..num, {[],{0,1}}, fn i,{list,t0} ->
t1 = numbers(i, t0)
t2 = numbers(i+1, Tuple.insert_at(t1, i+1, elem(t1, i)))
{[elem(t2, i+1) - elem(t2, i) | list], t2}
end)
Enum.reverse(result)
end
defp numbers(0, t), do: t
defp numbers(n, t), do: numbers(n-1, put_elem(t, n, elem(t, n-1) + elem(t, n)))
end
 
IO.inspect Catalan.numbers(15)</lang>
 
{{out}}
<pre>
[1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845]
</pre>
 
=={{header|ERRE}}==
Line 334 ⟶ 357:
15 9694845
</pre>
 
=={{header|FreeBASIC}}==
<lang freebasic>' version 15-092015
Line 499 ⟶ 523:
Catalan
}:@:(}.@:((<0 1)&|:) - }:@:((<0 1)&|:@:(2&|.)))@:(i. +/\@]^:[ #&1)@:(2&+)</lang>
 
=={{header|JavaScript}}==
{{trans|C++}}
Line 571 ⟶ 596:
{{out}}
<pre>{1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845}</pre>
 
 
 
=={{header|MATLAB}} / {{header|Octave}}==
Line 609 ⟶ 632:
{{Out}}
<pre>1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 2674440 9694845 </pre>
 
 
=={{header|Oforth}}==
Line 1,093 ⟶ 1,115:
9694845
</pre>
 
 
=={{header|zkl}}==
Anonymous user