8
EXAMPLES OF RECURSIVE FUNCTIONS

Examples of recursive functions

  • Upload
    yoland

  • View
    27

  • Download
    0

Embed Size (px)

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

Page 1: Examples of recursive functions

EXAMPLES OF RECURSIVE FUNCTIONS

Page 2: 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

Page 3: Examples of recursive functions

AN EXAMPLE OF N = 3

13123213212313

Page 4: Examples of recursive functions

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

Page 5: Examples of recursive functions

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);

}

Page 6: Examples of recursive functions

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 */

Page 7: Examples of recursive functions

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:

[email protected] [email protected]

Page 8: Examples of recursive functions

Thanks!

ANY QUESTION?