EXAMPLES OF RECURSIVE FUNCTIONS
TOWERS OF HANOI
We have 3 pegs(1, 2, 3)!the purpose is moving n disks from peg 1 to peg 3 with help of peg 2!
At no time, a larger disk should’nt be placed above a smaller disk!:D
Write a program to solve this problem.Use a recursive function with 4 parameters: The number of disks to be moved The peg on which these disks are initially placed The peg to which this stack of disk is to be moved The peg to be used as a temp holding area
AN EXAMPLE OF N = 3
13123213212313
WHAT IS THE SOLUTION?!
a) Move n-1 disks from peg 1 to peg 2, using peg 3 as a temp holding area.
b) Move the last disk(the largest) from peg 1 to peg 3.
c) Move the n-1 disks from peg 2 to peg 3, using peg 1 as a temp holding area.
Now the world is over!:D
WHAT DOES THIS SIMPLE PROGRAM DO?
#include<iostream>using namespace std;int mystery(int a, int b);
int main(){int a, b;cout<<"Enter 2 numbers!:"<<endl;cin>>a>>b;cout<<"The result is : "<<mystery(a, b)<<endl;return 0;
}
int mystery(int a, int b){if(b == 1)
return a;return a + mystery(a, b -1);
}
RECURSIVE MAIN!
Can main() be called recursively in your system?! Take a static variable and increment it! Then call main() at main()! What happened? Think til next session!;)
int count; /* count is global */
SOME NOTATIONS!
Please write your names, Std # and emails in a sheet for me.pleas some one accept this task
Feel free ask/suggest anything you want! Please put “C++ Course::” in the begging
of your subjects. My Emails again:
Thanks!
ANY QUESTION?