Examples of recursive functions

Preview:

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

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:

m.eslami2@gmail.com eslami@ce.sharif.edu

Thanks!

ANY QUESTION?

Recommended