为什么我在 CodeChef 中收到运行时 NZEC 错误?

时间:2021-03-09 16:45:14

标签: python runtime-error runtime

给定一个整数 C .让 d 是最小的整数,使得 2d 严格大于 C .

考虑所有非负整数对 (A,B) 使得 A,B<2d A⊕B=C (⊕ 表示按位异或运算)。求 A⋅B 的最大值 在所有这些对。 我已经尝试了下面的代码,但它给出了运行时 NZEC 错误。

def msb(c):
    for i in range(63,0,-1):
        if (c & (1<<i)):
            return i
            break
while(True):
    try:
        t = int(input())
        for i in range(t):
            c=int(input())
            m=msb(c)
            a=0
            b=0
            for j in range(m+1):
                ci=(c>>j & 1)
                if ci==0:
                    a=a | (1<<j)
                    b=b | (1<<j)
                elif j==m:
                    a=a | (1<<j)
                    b=b & ~(1<<j)
                elif ci==1:
                    a=a & ~(1<<j)
                    b=b | (1<<j)
            print(a*b)

    except EOFError:
        break

0 个答案:

没有答案