Towers of Hanoi: Difference between revisions

Content added Content deleted
(Added Elixir)
Line 885: Line 885:
end
end
end</lang>
end</lang>

=={{header|Elixir}}==
<lang elixir>defmodule RC do
def hanoi(n) when 0<n and n<10, do: hanoi(n, 1, 2, 3)
defp hanoi(1, f, _, t), do: move(f, t)
defp hanoi(n, f, u, t) do
hanoi(n-1, f, t, u)
move(f, t)
hanoi(n-1, u, f, t)
end
defp move(f, t), do: IO.puts "Move disk from #{f} to #{t}"
end

RC.hanoi(3)</lang>

{{out}}
<pre>
Move disk from 1 to 3
Move disk from 1 to 2
Move disk from 3 to 2
Move disk from 1 to 3
Move disk from 2 to 1
Move disk from 2 to 3
Move disk from 1 to 3
</pre>


=={{header|Emacs Lisp}}==
=={{header|Emacs Lisp}}==