Question: Problem 5 Find the upper-bound complexity of this function: T(n) = 13 + T(n-13). Problem 6 Given a number n, count the number of 0's

Problem 5

Find the upper-bound complexity of this function: T(n) = 13 + T(n-13).

Problem 6

Given a number n, count the number of 0's in its binary representation.

Examples:

count_zeros(0) returns 1. (binary representation is 0)

count_zeros(1) returns 0. (binary representation is 1)

count_zeros(2) returns 1. (binary representation is 10)

count_zeros(3) returns 0. (binary representation is 11)

count_zeros(4) returns 2. (binary representation is 100)

count_zeros(5) returns 1. (binary representation is 101)

count_zeros(6) returns 1. (binary representation is 110)

count_zeros(15) returns 0. (binary representation is 1111)

count_zeros(16) returns 4. (binary representation is 10000)

You must use the following recursive strategy to implement your program:

Check for the cases when n is smallest, and solve them directly.

Otherwise,

if n is even, its last binary digit is 0, add 1 to the number of 0's of n/2. Note: count the number of 0's of n/2 using the same strategy recursively.

if n is odd, its last binary digit is 1, simply count the number of zeros of (n-1)/2 using the same strategy recursively.

[25]:

 
#
# Input: a non-negative number n
# Output: the number of 0's in the binary representation of n
#
def count_zeros(n):
 pass

[ ]:

 
 

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!