假设我们有一个数字n和另一个值k。我们必须检查n中的第k位是否设置为(1)。从右手侧考虑k的值。
因此,如果输入像n = 23,k = 3,则输出将为True,因为23的二进制形式是10111,所以倒数第三位是1(设置)。
为了解决这个问题,我们将遵循以下步骤-
temp:= n向右移动(k-1)次后
如果temp AND 1为1,则
返回True
返回False
让我们看下面的实现以更好地理解-
def solve(n,k): temp = n >> (k - 1) if temp & 1: return True return False n = 23 k = 3 print(solve(n, k))
23, 3输出结果
True