aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/examples/hanoi.v
diff options
context:
space:
mode:
Diffstat (limited to 'v_windows/v/examples/hanoi.v')
-rw-r--r--v_windows/v/examples/hanoi.v22
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)
+ }
+}