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
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started