Please help with attached documents
CSS 220 In-Class Activity
Recursion is often described as something defined in terms of itself. In fact, if we look up recursion in the Urban dictionary, we will find the humorous, but accurate, entry “Recursion: see recursion”
1. Play the Towers of Hanoi game for 3, 4, and 5, discs. Paste the images of your completed game below. Play at this link: https://www.mathsisfun.com/games/towerofhanoi.html
Let’s take a look at the algorithm and answer the following
Watch this video for a visualization of the code below: https://www.youtube.com/watch?v=YstLjLCGmgg
def TowersOfHanoi (n , r1, r3, r2):
if n == 1:
print ("Move disk 1 from rod", r1,"to rod", r3)
return
else:
TowersOfHanoi (n-1, r1, r2, r3)
print ("Move disk",n,"from rod”, r1,"to rod", r3)
TowersOfHanoi (n-1, r2, r3, r1)
TowesrOfHanoi(4,"A","C","B")
2. In Towers of Hanoi how many times is the recursive move_disks() function invoked for 3 disks?
a. 3
b. 4
c. 7
d. 14
3. In Towers of Hanoi how many times is the recursive move_disks() function invoked for 4 disks?
a. 5
b. 10
c. 15
d. 20
4. What is the result of “print (mystery(648))” call?
def mystery (n): if (n<10): return n else: a = n // 10 # floor division b = n % 10 return mystery (a + b) print (mystery(648))
a. 8
b. 9
c. 54
d. 72
e. 648
5. Recursively solve: ( (1+2) * (8-3) ) + ( (4*5) – (9/3) )
6. Fill in the blanks to complete the code to count the length of a string.
def recLen (string): if ______________________: ________________________ else: return 1 + recLen (string[1:])
print ("The length of the string “apple” is ", recLen("apple"))
7. What is the return value for xfunction(4) after calling the following function?
def xfunction(n): if n == 1: return 1; else: return n + xfunction(n - 1)