
David W. answered 04/02/20
Experienced Prof
f(1) = 1
f(n) = 2 · f(n − 1) for n>1
Often, especially with computers, we start with the value we want to find [ f(12) } and expand that:
f(12) = 2 * f(11)
f(12) = 2 * 2 * f(10)
f(12) = 2 * 2 * 2 * f(9)
f(12) = 2 * 2 * 2 * 2 * f(8)
f(12) = 2 * 2 * 2 * 2 * 2 * f(7)
f(12) = 2 * 2 * 2 * 2 * 2 * 2 * f(6)
f(12) = 2 * 2 * 2 * 2 * 2 * 2 * 2 * f(5)
f(12) = 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * f(4)
f(12) = 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * f(3)
f(12) = 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * f(2)
f(12) = 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * f(1)
Those are all of the recursive cases, now we use the base case, f(1) = 1
f(12) = 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 1
f(12) = 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2
f(12) = 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 4
f(12) = 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 8
f(12) = 2 * 2 * 2 * 2 * 2 * 2 * 2 * 16
f(12) = 2 * 2 * 2 * 2 * 2 * 2 * 32
f(12) = 2 * 2 * 2 * 2 * 2 * 64
f(12) = 2 * 2 * 2 * 2 * 128
f(12) = 2 * 2 * 2 * 256
f(12) = 2 * 2 * 512
f(12) = 2 * 1024
f(12) = 2048