How to find if two numbers are consecutive numbers in gray code sequence

后端 未结 9 1097
醉梦人生
醉梦人生 2021-02-04 18:44

I am trying to come up with a solution to the problem that given two numbers, find if they are the consecutive numbers in the gray code sequence i.e., if they are gray code neig

9条回答
  •  后悔当初
    2021-02-04 19:01

    If two numbers are in gray code sequence, they differ by one binary digit. i.e the exclusive OR on the two numbers returns a power of 2. So, find XOR and check if the result is a power of two.

    python 3.8

    a=int(input())
    b=int(input())
    x=a^b 
    if((x and (not(x & (x - 1))) )):
        print("True")
    else:
        print("False")
    

提交回复
热议问题