题:
约翰爱XOR。John的朋友总是问他与XOR有关的疑惑,他帮助他们解决问题,但由于考试而他很忙,并请您帮助他的朋友。他的一位朋友希望您解决以下问题。给定N个数字和K个数的数组。任务是插入定数组中的数字,使得按位异或新的阵列中的所有元素等于给定输入ķ。
输入:
输入的第一行包含一个整数T,表示测试用例的数量。
每个测试用例的第一行包括2个表示N和K的整数。每个测试用例的第二行包含N个表示数组的整数。
1 5 10 1 2 3 4 5
输出:
对于每一个测试情况下,通过插入该打印数XOR阵列中所有的元件的变为等于ķ。
Explanation: 1^2^3^4^5^11 = 10 Output: 11
限制条件:
1 <= T <100 1<N, K = 100 1 <= array elements <= 10^3
为了解决这个问题,我们使用Python3。
在python中,按位运算符用于对整数执行按位运算。首先,将整数转换为二进制数字,然后进行逐位运算,结果以十进制格式返回。
XOR运算表,
运作方式 | 结果 |
---|---|
0 ^ 0 | 0 |
0 ^ 1 | 1 |
1 ^ 0 | 0 |
1 ^ 1 | 0 |
码:
# 输入测试用例(T) print("Input test case: ") t = int(input()) while(t>0): t=t-1 # m和k的输入值 print("Input value of m and k: ") m,k=list(map(int,input().split())) # 输入数组元素 print("Input array elements: ") arr=list(map(int,input().split())) # 存储第一个值 res=arr[0] for i in range(1,m): # 执行按位XOR操作 # 在数组中的元素上 res=res^arr[i] # 打印结果 print("Result is: ") print(k^res)
输出结果
Input test case: 1 Input value of m and k: 5 10 Input array elements: 1 2 3 4 5 Result is: 11