Skip to content

luc051.c

Problem Statement

Tower of Hanoi: Write a program to print out the sequence in which 4 disks should be moved from peg A to peg C using peg B.

Metadata

Property Detail
Author Amit Dutta amitdutta4255@gmail.com
Date 08 Feb 2026
License MIT License (See the LICENSE file for details)

Actions

Raw View on GitHub

💡 You can print or save this file by opening Raw and using your browser.

Source Code

#include <stdio.h>
#include <math.h>
#include <stdlib.h>

void hanoi(int, char, char, char);

int main()
{
    int n = 4; 

    printf("Sequence of moves for %d disks:\n\n", n);
    hanoi(n, 'A', 'B', 'C');

    return 0;
}

void hanoi(int n, char from_rod, char aux_rod, char to_rod)
{
    if (n == 1)
    {
        printf("Move disk 1 from rod %c to rod %c\n", from_rod, to_rod);
        return;
    }
    hanoi(n - 1, from_rod, to_rod, aux_rod);
    printf("Move disk %d from rod %c to rod %c\n", n, from_rod, to_rod);
    hanoi(n - 1, aux_rod, from_rod, to_rod);
}