Python
 Computer >> コンピューター >  >> プログラミング >> Python

find(x、y)の値を見つけるプログラムはPythonでは偶数または奇数です


配列numsがあるとします。また、別のペア(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のようである場合、-

であるため、出力は偶数になります。
  • 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、これは偶数です

これを解決するには、次の手順に従います-

  • 偶数:=真
  • x>yまたはnums[x]が奇数の場合、
    • 偶数:=False
  • x
  • 偶数:=False
  • Trueの場合でも、
    • 「偶数」を返す
  • それ以外の場合、
    • 「奇数」を返す
  • 理解を深めるために、次の実装を見てみましょう-

    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

    1. 数の奇数因子の合計を見つけるためのPythonプログラム

      この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 数値入力nが与えられた場合、タスクは数値の奇数因子の合計を見つけることです。 ここでは、最初にすべての偶数の要因を排除する必要があります。 すべての偶数因子を削除するために、nを2で割り切れるまで繰り返し除算します。このステップの後、数の奇数因子のみを取得します。 以下は実装です- 例 import math def sumofoddFactors( n ):    #prime factors    res = 1    # ignore e

    2. 数の偶数因子の合計を見つけるためのPythonプログラム

      この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 数値入力nが与えられた場合、タスクは数値の偶数因子の合計を見つけることです。 ここでは、最初にすべての奇妙な要因を排除する必要があります。 入力された数値が奇数の場合、偶数の因数はなく、直接ゼロを返します。それ以外の場合は、以下のコードのアプローチに従います。 以下は実装です- 例 import math # Returns sum of all even factors of n. def sumofFactors(n) :    # If n is odd   &nbs