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}}== |