如题,按理来说,n >>= 1与n /= 2应该是同样的效果,可下面的代码在不使用位运算符时居然会产生错误的结果,这是为什么?
# P3612 # 分冶 n = input().split() a, b = n[0], int(n[1]) x = len(a) while x < b: x <<= 1 # 此处如为x *= 2会WA while b > len(a): x >>= 1 # 此处如为x /= 2会WA if b == (x+1): b = x elif b <= x: pass else: b = ((b-1) - x) print(a[int(b-1)])