我需要找到生成所有对(A,B)的方法,使得A <= 10 ^ 5,B <= 10 ^ 5,N <= 10 ^ 5且A XOR B == N.N作为输入。
我知道平方时间的解决方案,检查两个fors中的所有值,但我认为有更快的解决方案。
提前致谢。
答案 0 :(得分:0)
以下内容应该有效:
for A = 0 to 65536 do /* 65536 > 10^5 / 2 */
B = A xor N
if A <= 100000 and B <= 100000
print A, B
print B, A