假设我们有两个数字 x 和 y 以及一个给定的范围 (left, right)。我们必须检查给定两个数字在 left 到 right 范围内的所有位是否互为补码。我们必须记住从右到左,所以最低有效位被认为是在第一位。因此,如果输入类似于 x = 41 y = 54 left = 2 right = 5,则输出为 True,因为 41 和 54 的二进制表示形式为 101001 和 110110。2 到 5 范围内的位… 阅读更多
假设我们有一个数字 n。我们必须检查 n 的二进制表示是否为回文。因此,如果输入类似于 n = 9,则输出为 True,因为 9 的二进制表示形式为 1001,它是回文。为了解决这个问题,我们将遵循以下步骤 - ans := 0当 num > 0 时,执行以下操作:ans := ans * 2如果 num 为奇数,则ans := ans XOR 1num := num / 2返回 ans让我们看看下面的实现,以便更好地理解 - 示例实时演示def reverse_binary(num) : ans = 0 while (num > 0) : … 阅读更多