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)
- find(3, 2) = 1
- 所以find(2, 2) = 7,而find(1, 2) = 2^7 = 128,这是一个偶数。
为了解决这个问题,我们将遵循以下步骤:
- even := True
- 如果 x > y 或 nums[x] 为奇数,则
- even := False
- 如果 x < nums的长度 - 1 且 x < y 且 nums[x+1] 等于 0,则
- 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
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP