top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

Best algorithm to complete tower of hanoi problem?

0 votes
473 views

I am looking for the best algorithm to complete tower of hanoi problem along with C/C++ code, any help would be great support for my interview?

posted Mar 1, 2016 by anonymous

Share this question
Facebook Share Button Twitter Share Button LinkedIn Share Button

1 Answer

+1 vote

Condition to implement Tower of Hanoi problem

1) Only one disk can be moved at a time.
2) Each move consists of taking the upper disk from one of the stacks and placing it on top of another stack
i.e. a disk can only be moved if it is the uppermost disk on a stack.
3) No larger disk may be placed on top of a smaller disk.

#include <stdio.h>
// C recursive function to solve tower of hanoi puzzle
void towerOfHanoi(int n, char fromrod, char torod, char auxrod)
{
    if (n == 1)
    {
        printf("\n Move disk 1 from rod %c to rod %c", fromrod, torod);
        return;
    }
    towerOfHanoi(n-1, fromrod, auxrod, torod);
    printf("\n Move disk %d from rod %c to rod %c", n, fromrod, torod);
    towerOfHanoi(n-1, auxrod, torod, fromrod);
}

int main()
{
    int n ;// Number of disks
    printf("/nEnter number of disk");
    scanf("%d",n);
    towerOfHanoi(n, 'A', 'C', 'B');  // A, B and C are names of rods
    return 0;
}
answer Mar 2, 2016 by Josita Sarwan
Similar Questions
0 votes

Given an unordered array A of size n and integer x. What is the best complexity to find two elements in A whose sum is x?
Share the algo, its complexity and if possible C code.

0 votes

Please help me with the tower of hanoi program in C using recursion?

...