在Python中查找find(x,y)的值是偶数还是奇数的程序
假设我们有一个数组nums。我们还有另一对(x,y),我们需要找出值find(x,y)是奇数还是偶数。find()如下所示
- 如果x> y,则find(x,y)= 1
- 否则,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)
- find(3,2)= 1,
- 所以find(2,2)= 7,find(1,2)= 2 ^ 7 = 128,这是偶数
要解决此问题,我们将执行以下步骤−
- even:= True
- 如果x> y或nums [x]为奇数,则
- even:= False
- 如果x
- even:= False
- 如果even True,则
- 返回’Even’
- 否则,
- 返回’Odd’
示例
让我们看以下实现以获得更好的理解−
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