Giả sử chúng ta có một số nguyên n và một số nguyên khác bắt đầu. Chúng ta phải tạo một mảng gọi là nums trong đó nums [i] =start + 2 * i (tôi bắt đầu từ 0) và n là kích thước của nums. Sau đó, tìm XOR theo từng bit của tất cả các phần tử của nums.
Vì vậy, nếu đầu vào là n =6, start =2, thì đầu ra sẽ là 14 vì mảng sẽ giống như [2 + 2 * 0, 2 + 2 * 1, ... 2 + 2 * 5] =[2,4,6,8,10,12], thì XOR của mỗi phần tử hiện diện trong mảng là 14.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
-
count:=start
-
while n-1> 0, do
-
count:=count XOR 2 + start
-
n:=n - 1
-
start:=start + 2
-
-
số lần trả lại
Ví dụ (Python)
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
def solve(n, start): count = start while n-1 > 0: count ^= 2 + start n -= 1 start += 2 return count n = 6 start = 2 print(solve(n, start))
Đầu vào
6, 2
Đầu ra
14