Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมสำหรับดำเนินการ XOR ในอาร์เรย์โดยใช้ Python


สมมติว่าเรามีจำนวนเต็ม n และจำนวนเต็มเริ่มต้นอีกจำนวนหนึ่ง เราต้องสร้างอาร์เรย์ที่เรียกว่า nums โดยที่ nums[i] =start + 2*i (ผมเริ่มจาก 0) และ n คือขนาดของ nums จากนั้นหา XOR ระดับบิตขององค์ประกอบทั้งหมดของ nums

ดังนั้น ถ้าอินพุตเป็น n =6 start =2 เอาต์พุตจะเป็น 14 เพราะอาร์เรย์จะเป็นแบบ [2+2*0, 2+2*1, ... 2+2*5] =[2,4,6,8,10,12] ดังนั้น XOR ของแต่ละองค์ประกอบที่มีอยู่ในอาร์เรย์คือ 14

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • นับ :=เริ่ม

  • ในขณะที่ n-1> 0 ทำ

    • count :=นับ XOR 2 + เริ่ม

    • n :=n - 1

    • start :=start + 2

  • จำนวนคืน

ตัวอย่าง (Python)

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

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))

อินพุต

6, 2

ผลลัพธ์

14