মান লেট 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, তবে আউটপুট হবে even, কারণ −
- 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 < size of nums - 1 এবং x < y এবং nums[x+1] ০-এর সমান হয়, তবে
- 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