Giả sử chúng ta có một số mảng. Chúng ta cũng có một cặp khác (x, y), chúng ta cần tìm xem giá trị tìm được (x, y) là Lẻ hay Chẵn. Tìm () như sau
- find (x, y) =1 nếu x> y
- find (x, y) =nums [x] ^ find (x + 1, y) nếu không
Vì vậy, nếu đầu vào giống như nums =[3,2,7] (x, y) =1, 2, thì đầu ra sẽ là số chẵn, bởi vì -
- find (1, 2) =nums [1] ^ find (2,3)
- find (2, 2) =nums [2] ^ find (3,2)
- find (3, 2) =1,
- do đó find (2, 2) =7 và find (1, 2) =2 ^ 7 =128, đây là số chẵn
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- thậm chí:=True
- nếu x> y hoặc nums [x] là số lẻ, thì
- thậm chí:=Sai
- nếu x
- thậm chí:=Sai
- trả về 'Even'
- trả về 'Kỳ lạ'
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
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))
Đầu vào
[3,2,7], 1, 2
Đầu ra
Even