Mystery Recursive Program
Mystery Recursive Program
1. If p == 0
R = ⌊p / 2⌋
2. return 0
3.
4. S=q+q
5. t = Mystery(R, S)
6. If p is even
7. return t
8. else
9. return t + q
Initial Input:
Mystery(100, 150)
Here p=10, q=150.
Step-by-Step Execution:
o R=⌊100/2⌋=50.
o S=150+150=300.
o R=⌊50/2⌋=25.
o S=300+300=600.
o R=⌊25/2⌋=12.
o S=600+600=1200.
o R=⌊12/2⌋=6.
o S=1200+1200=2400.
o R=⌊6/2⌋=3.
o S=2400+2400=4800.
o R=⌊3/2⌋=1.
o S=4800+4800=9600.
o R=⌊1/2⌋=0.
o S=9600+9600=19200.
o p=0 Return 0.
Backtracking Results:
o t=0.
o t=9600.
o p=3 (odd), so return t+q=9600+4800=14400.
o t=14400.
o t=14400.
o t=14400.
o t=15000.
o t=15000.
Final Result: