
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Count Unset Bits in a Range in Python
Given a positive a number and the range of the bits. Our task is to count unset bits in a range.
Input : n = 50, starting address = 2, ending address = 5 Output : 2
There are '2' unset bits in the range 2 to 5.
Algorithm
Step 1 : convert n into its binary using bin(). Step 2 : remove first two characters. Step 3 : reverse string. Step 4 : count all unset bit '0' starting from index l-1 to r, where r is exclusive.
Example Code
# Function to count unset bits in a range def countunsetbits(n,st,ed): # convert n into it's binary bi = bin(n) # remove first two characters bi = bi[2:] # reverse string bi = bi[-1::-1] # count all unset bit '0' starting from index l-1 # to r, where r is exclusive print (len([bi[i] for i in range(st-1,ed) if bi[i]=='0'])) # Driver program if __name__ == "__main__": n=int(input("Enter The Positive Number ::>")) st=int(input("Enter Starting Position")) ed=int(input("Enter Ending Position")) countunsetbits(n,st,ed)
Output
Enter The Positive Number ::> 50 Enter Starting Position2 Enter Ending Position5 2
Advertisements