Python程式查詢陣列中可被給定數字整除的元素的異或值
在本文中,我們將討論如何計算可被給定數字整除的陣列元素的異或值。異或 (XOR) 是一種二元運算,它比較兩個運算元的位。如果位不同,則返回 1,如果位相同,則返回 0。在這種方法中,我們將使用異或的特性並將其應用於此問題。該問題的解決方案將透過相關示例進行展示。讓我們舉一個例子來演示計算過程。為了便於理解,考慮一個簡單的示例,陣列 'arr' = [1,2,3,4,5]。我們將計算其元素的異或值,並逐步進行。
將 xor_value 初始化為 0。
開始遍歷每個元素
第一個元素 num = 1,執行 xor_value^num。由於 xor_value = 0,結果為 1。更新 xor_value = 1。
第 2 個元素 num = 2,執行 xor_value^num。當前 xor_value = 1,結果為 3。更新 xor_value = 3。
第 3 個元素 num = 3,執行 xor_value^num。當前 xor_value = 3,結果為 0。更新 xor_value = 0。
第 4 個元素 num = 4,執行 xor_value^num。當前 xor_value = 0,結果為 4。更新 xor_value = 4。
第 5 個元素 num = 5,執行 xor_value^num。當前 xor_value = 4,結果為 1。更新 xor_value = 1。
迭代完成,最終的 xor_value 為 1。
返回 xor_value 作為結果。
在給定的示例中,陣列 [1,2,3,4,5] 的異或值為 1。
我們可以將此計算應用於任何陣列以獲得其元素的異或運算。
示例 1:Python 程式查詢可被給定數字整除的陣列元素的異或值
程式碼解釋和設計步驟
步驟 1:在 Anaconda 提示符中開啟 Jupyter Notebook 並開始在其單元格中編寫程式碼。
步驟 2:使用此函式 ‘xor_divisible_elements’,它接受兩個引數 ‘arr’ 作為輸入陣列,‘divisor’ 是一個數字,元素必須可被其整除。
步驟 3:將 ‘xor_value’ 初始化為 0。
步驟 4:對於所有元素,可被整除數字的異或值將儲存在 ‘xor_value’ 中。
步驟 5:使用 ‘for’ 迴圈迭代 ‘arr’ 中的每個元素 ‘num’。
步驟 6:在 ‘for’ 迴圈中,使用模運算子 (%) 檢查 ‘num’ 是否可被 ‘divisor’ 整除。如果餘數為 0,則 ‘num’ 絕對可被 ‘divisor’ 整除。檢查結果。
步驟 7:更新 ‘xor_value’,使用異或賦值運算子 ‘^=’ 對 ‘num’ 執行異或運算。
步驟 8:對 ‘xor_value’ 和 ‘num’ 執行按位異或運算以計算新的異或值。
步驟 9:建立一個輸入陣列並將除數設定為 10,使用輸入陣列呼叫函式 ‘xor_divisible_elements’ 並將計算出的值儲存在 ‘result’ 變數中。檢查結果。
可被給定數字整除的陣列元素的異或值程式碼
示例
def xor_divisible_elements(arr, divisor): xor_value = 0 for num in arr: # use for Loop if num % divisor == 0: # Check remainder is zero xor_value ^= num # XORing with num to get our result return xor_value # Example array = [20,25,30,35,40,50] # input array divisor = 10 # set divisor value result = xor_divisible_elements(array, divisor) # Store final value in the result variable print("XOR of divisible elements:", result) # Printing our result
輸出
XOR of divisible elements: 16
示例 2:Python 程式查詢可被給定數字整除的陣列元素的異或值
程式碼解釋和設計步驟
步驟 1:在 Anaconda 提示符中開啟 Jupyter Notebook 並開始在其單元格中編寫程式碼。
步驟 2:使用此函式 ‘xor_divisible_elements’,它接受兩個引數 ‘arr’ 作為輸入陣列,‘divisor’ 是一個數字,元素必須可被其整除。
步驟 3:將 ‘xor_value’ 初始化為 0。
步驟 4:對於所有元素,可被整除數字的異或值將儲存在 ‘xor_value’ 中。
步驟 5:使用 ‘for’ 迴圈迭代 ‘arr’ 中的每個元素 ‘num’。
步驟 6:在 ‘for’ 迴圈中,使用地板除運算子 (//) 計算單個元素將 num 除以 divisor 得到的商。透過檢查商 % 2 == 1 來檢查商是否為奇數。
步驟 7:更新 ‘xor_value’,使用異或賦值運算子 ‘^=’ 對 ‘num’ 執行異或運算。
步驟 8:對 ‘xor_value’ 和 ‘num’ 執行按位異或運算以計算新的異或值。
步驟 9:建立一個輸入陣列並將除數設定為 10,使用輸入陣列呼叫函式 ‘xor_divisible_elements’ 並將計算出的值儲存在 ‘result’ 變數中。檢查結果。
可被給定數字整除的陣列元素的異或值程式碼:(替代方法)
示例
def xor_divisible_elements(arr, divisor): xor_value = 0 for num in arr: # use for Loop quotient = num // divisor # Calculate quotient by dividing num by # divisor using ‘//’ operator if quotient % 2 == 1: # Check for quotient odd xor_value ^= num # XORing with num to get our result return xor_value # Example array = [20,25,30,35,40,50] # input array divisor = 10 # set divisor value result = xor_divisible_elements(array, divisor) # Store final value in the # result variable print("XOR of divisible elements:", result) # Print our result
輸出
XOR of divisible elements: 15
此程式碼遵循方法 2 來查詢可被給定數字整除的陣列元素的異或值。
結論
本文介紹了兩種計算可被給定數字整除的陣列元素的異或值的方法。為了便於理解,兩種方法都進行了清晰的解釋。比較兩個運算元的二進位制值以進行異或運算,相同的位值將返回零作為結果,否則對於不同的位值,結果將為 1。我們還可以根據需要修改或更改陣列和除數的值。