在 Python 中查找 find(x, y) 的值是偶数还是奇数的程序
假设我们有一个数组nums。我们还有另一对(x,y),我们需要找出该值find(x,y)是奇数还是偶数。的find()是如下
find(x,y)=1如果x>y
find(x,y)=nums[x]^find(x+1,y)否则
因此,如果输入类似于nums=[3,2,7](x,y)=1,2,那么输出将是偶数,因为-
find(1,2)=nums[1]^find(2,3)
find(2,2)=nums[2]^find(3,2)
查找(3,2)=1,
所以find(2,2)=7,andfind(1,2)=2^7=128,这是偶数
示例
让我们看看以下实现以获得更好的理解-
def solve(nums, x, y):
even = True
if x > y or (nums[x] % 2 == 1):
even = False
if x < len(nums) - 1 and x < y and nums[x+1] == 0:
even = False
if even:
return 'Even'
else:
return 'Odd'
nums = [3,2,7]
(x, y) = 1,2
print(solve(nums, x, y))输入
[3,2,7], 1, 2输出结果
Even