Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 find(x, y)의 값을 찾는 프로그램이 짝수 또는 홀수입니다.

<시간/>

배열 번호가 있다고 가정합니다. 우리는 또한 또 다른 쌍(x, y)이 있습니다. find(x,y) 값이 홀수인지 짝수인지 찾아야 합니다. find()는 다음과 같습니다.

  • find(x, y) =1 if x> y
  • find(x, y) =nums[x]^find(x+1, y) 그렇지 않으면

따라서 입력이 nums =[3,2,7] (x, y) =1, 2와 같으면 출력은 짝수가 됩니다. 왜냐하면 -

  • 찾기(1, 2) =숫자[1]^찾기(2,3)
  • 찾기(2, 2) =숫자[2]^찾기(3,2)
  • 찾기(3, 2) =1,
  • find(2, 2) =7, find(1, 2) =2^7 =128이므로 짝수입니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • 짝수 :=사실
  • x> y 또는 nums[x]가 홀수이면
    • 짝수 :=거짓
  • x <숫자 크기 - 1이고 x
  • 짝수 :=거짓
  • 참이면
    • '짝수' 반환
  • 그렇지 않으면
    • '홀수' 반환
  • 예시

    이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

    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