Given a positive integer, check whether it has alternating bits: namely,   if two adjacent bits will always have different values.       For example:   Input: 5   Output: True because the binary representation of 5 is: 101.       Input: 7   Output: False because the binary representation of 7 is: 111.       Input: 11   Output: False because the binary representation of 11 is: 1011.       Input: 10   Output: True because The binary representation of 10 is: 1010.

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter8: Arrays And Strings
Section: Chapter Questions
Problem 21PE
icon
Related questions
Question
Given a positive integer, check whether it has alternating bits: namely,
  if two adjacent bits will always have different values.
   
  For example:
  Input: 5
  Output: True because the binary representation of 5 is: 101.
   
  Input: 7
  Output: False because the binary representation of 7 is: 111.
   
  Input: 11
  Output: False because the binary representation of 11 is: 1011.
   
  Input: 10
  Output: True because The binary representation of 10 is: 1010.
  """
   
  # Time Complexity - O(number of bits in n)
  def has_alternative_bit(n):
  first_bit=0
  second_bit=0
  whilen:
  first_bit=n&1
 

ifn>>1:.

 

Expert Solution
steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Binary numbers
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning