[SOLVED] CSCI112 Lab 6- Eliminating Recursion with Stacks

30.00 $

Category:
Click Category Button to View Your Next Assignment | Homework

You will receive the following solution file(s) instantly after successful payment:

zip file icon labXXnorecursion-awasbu.zip (130.4 KB)
Assignment Instructions Updated Recently? Submit Below and we will provide new Solution!
Submit New Instructions
🔒 Securely Powered by:
Secure Checkout
5/5 - (2 votes)

File names: Names of files, functions, and variables, when specified, must be EXACTLY as specified. This includes simple mistakes such as capitalization.
Documentation: Each file should begin with a docstring that includes your name, the class number and name, the lab number, and a short description of the lab, as well as documentation pertinent to that particular file.
Translations: Translate each of the following recursive functions into “unnested” versions and into nonrecursive functions following the style of the functions discussed in class and available in the file stackrecursion.py. Put all the functions into a file called uncursion.py and unit tests for all of them into a file called uncursion_test.py.
Put everything into a folder names csci112lab06yourname, zip and turn into canvas.
The problems:
def func01(n): if n < 2:
return 3*n
else:
return 2*func01(n-1)
1.
1
2
3
4
5
def func02(n): if n < 2:
return 3*n
elif n < 6:
return n*n
else:
return 3 + 2*func02(n-2)
2.
1
2
3
4
5
6
7
def func03(n): if n < 2:
return 3*n
else:
return 3*func03(n-1) + 2*func03(n-2)
3.
1
2
3
4
5
def func04(n): if n < 2:
return 3*n elif n%2 == 1:
return 7 + func04(n – 3) else:
return func04(n-1) * 2*func04(n//2)
4.
1
2
3
4
5
6
7
1
def func05(a, b): if a == 0:
return b+3
elif b == 0:
return a*2
else:
return 2*a + 3*b + 4*func05(a-1,b) + 5*func05(a, b-1)
5.
1
2
3
4
5
6
7
2

  • labXXnorecursion-awasbu.zip