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’ 变量中。检查结果。

可被给定数字整除的数组元素的异或值代码

示例

Open Compiler
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’ 变量中。检查结果。

可被给定数字整除的数组元素的异或值代码:(替代方法)

示例

Open Compiler
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 来查找可被给定数字整除的数组元素的异或值。

Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.

结论

本文介绍了两种计算可被给定数字整除的数组元素的异或值的方法。为了便于理解,两种方法都进行了清晰的解释。比较两个操作数的二进制值以进行异或运算,相同的位值将返回零作为结果,否则对于不同的位值,结果将为 1。我们还可以根据需要修改或更改数组和除数的值。

更新于: 2023年8月28日

189 次查看

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告