0% found this document useful (0 votes)
50 views2 pages

Recursive Product Calculation in Java

The document discusses recursion exercises including: 1. Examples of recursive algorithms with different outputs 2. The value returned by a recursive method when called with an input of 4 3. Three disadvantages of recursive algorithms 4. Why recursion is memory intensive 5. Pseudocode for a recursive method to add all numbers from n to 1 6. A fractal drawing recursive algorithm and its Python implementation 7. Pseudocode and Python implementation for the Fibonacci sequence 8. A recursive generator function for the phrase "A rose is a rose is a rose is a rose" 9. A Python function to solve the Towers of Hanoi problem recursively

Uploaded by

varsavskyl
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views2 pages

Recursive Product Calculation in Java

The document discusses recursion exercises including: 1. Examples of recursive algorithms with different outputs 2. The value returned by a recursive method when called with an input of 4 3. Three disadvantages of recursive algorithms 4. Why recursion is memory intensive 5. Pseudocode for a recursive method to add all numbers from n to 1 6. A fractal drawing recursive algorithm and its Python implementation 7. Pseudocode and Python implementation for the Fibonacci sequence 8. A recursive generator function for the phrase "A rose is a rose is a rose is a rose" 9. A Python function to solve the Towers of Hanoi problem recursively

Uploaded by

varsavskyl
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

RECURSION EXERCISES

1. What is going to be the output of the following algorithm?


a. method foo(n)
if (n<=1) then
return 1
else
return foo(n-1) + foo(n-2)
end if
end method
output foo(5)
b. method foo(n,m)
if (n<=1) OR (m<=1) then
return 2
else
return foo(n-1,m) + foo(n,m-2)
end if
end method
output foo(5,4)
c. method foo(n,m)
output “value of n= ”, n, “value of m = ”, m
if (n<=1) OR (m<=1) then
return 2
else
return foo(n-1,m-n) + foo(n,m-2)
end if
end method
output foo(3,2)
d. method foo(X,Y)
if X<Y then
return foo(X+1,Y-2)
else if X=Y then
return 2*foo(X+2,Y-2)-3
else
return 2*X+3*Y
end if
end method
output “Output is”, foo(3,12)

2. What value does method a return when called with a value of 4?


method a(number)
if (number<=1)then
return 1
else
return number*a(number-1)
end if
end method
3. State three disadvantages of a recursive algorithm.
4. Describe why the use of recursion is memory intensive.
5. Create a recursive method in pseudocode addIntUpTo(n) for n>0 that will add all numbers from and
including n down to 1.
6. a. Create a fractal drawing algorithm in pseudocode and trace it for depths 1, 2 and 3.
b. Once you are satisfied with your pseudo code and tracing, attempt the code implementation in
Python.
7. Determine the pseudo code for the Fibonacci sequence, test it by tracing with 2 or 3 different outputs,
then code it in python.
8. Most illustrations of recursive functions address mathematical phenomena. As a non-numeric example,
consider the literary phrase “A rose is a rose is a rose is a rose.” that is based on a poem by Gertrude
Stein. The appeal of the phrase is largely due to its recursive aspect — so we should be able to use
recursion to program a generator function for it.
a. What part of the phrase is recursive? Which one is not?
b. What is the stopping condition? What should happen when it is reached?
c. Write a recursive function get_phrase(x = "rose", n = 3) that generates the phrase by
repeating the part "is a" x n times. Try writing a truly recursive function.
9. Write a function in python to solve the towers of Hanoi problem for n discs.

You might also like