Python XOR和数组| 竞争编码问题
题:
约翰爱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运算表,
码:
#输入测试用例(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