diff options
Diffstat (limited to 'v_windows/v/examples/hanoi.v')
-rw-r--r-- | v_windows/v/examples/hanoi.v | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/v_windows/v/examples/hanoi.v b/v_windows/v/examples/hanoi.v new file mode 100644 index 0000000..0851ba0 --- /dev/null +++ b/v_windows/v/examples/hanoi.v @@ -0,0 +1,22 @@ +// hanoi tower +const ( + num = 7 +) + +fn main() { + hanoi(num, 'A', 'B', 'C') +} + +fn move(n int, a string, b string) { + println('Disc $n from $a to ${b}...') +} + +fn hanoi(n int, a string, b string, c string) { + if n == 1 { + move(1, a, c) + } else { + hanoi(n - 1, a, c, b) + move(n, a, c) + hanoi(n - 1, b, a, c) + } +} |