See llms.txt for all machine-readable content.

Back to Templates

Implement recursive algorithms with sub-workflows: Towers of Hanoi demo

How it works

This is an example of using sub-workflow nodes and a proof of concept showing that it’s possible to solve and explain recursive problems with n8n.

Towers of Hanoi - Task

Move a stack of n disks from rod A to rod C, using rod B as auxiliary. Only one disk can be moved at a time, and no disk may be placed on a smaller disk.

Example

n=4 | | | = | | === | | ===== | | ======= | | --------- --------- --------- A B C

Algorithm

procedure Hanoi(n, X, Y, Z): if n == 1: move disk from X to Z else: Hanoi(n-1, X, Z, Y) move disk from X to Z Hanoi(n-1, Y, X, Z)

Notes

  • This is a learning example. In a real scenario, you would probably use an iterative approach with only a single code node.
  • When experimenting with recursion, make sure to define a termination condition first. Also, be aware of the "Restart workspace" link in the n8n Dashboard.
  • Learn more about Recursion on Wikipedia.

Set up steps

  • Optional: Set "numberOfDiscs" in node "Set number of discs"
  • Execute workflow