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

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


この記事では、以下に示す問題ステートメントの解決策について学習します-

問題の説明

数値入力nが与えられた場合、タスクは数値の偶数因子の合計を見つけることです。

ここでは、最初にすべての奇妙な要因を排除する必要があります。

入力された数値が奇数の場合、偶数の因数はなく、直接ゼロを返します。それ以外の場合は、以下のコードのアプローチに従います

以下は実装です-

import math
# Returns sum of all even factors of n.
def sumofFactors(n) :
   # If n is odd
   if (n % 2 != 0) :
      return 0
   #all prime factors
   res = 1
   for i in range(2, (int)(math.sqrt(n)) + 1) :
      count = 0
      curr_sum = 1
      curr_term = 1
      while (n % i == 0) :
         count= count + 1
         n = n // i
         # here we remove the 2^0 that is 1. All other factors
         if (i == 2 and count == 1) :
            curr_sum = 0
         curr_term = curr_term * i
         curr_sum = curr_sum + curr_term
      res = res * curr_sum
   # if n is prime number
   if (n >= 2) :
      res = res * (1 + n)
   return res
# main
n = 20
print(sumofFactors(n))

出力

36

以下の図に示すように、すべての変数はグローバルフレームで宣言されます-

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

結論

この記事では、数の偶数の因数の合計を見つける方法について学びました


  1. 数の最大の素因数を見つけるためのPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 正の整数nが与えられます。数の最大の素因数を見つける必要があります。 アプローチ 指定された数値を数値の約数で割って因数分解します。 最大素因数を更新し続けます。 例 import math def maxPrimeFactor(n):    # number must be even    while n % 2 == 0:       max_Prime = 2       n /= 1  

  2. 数の一意の素因数の積のためのPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 −数値nが与えられた場合、利用可能なすべての固有の素因数の積を見つけて返す必要があります。 たとえば、 Input: num = 11 Output: Product is 11 Explanation: Here, the input number is 11 having only 1 prime factor and it is 11. And hence their product is 11. アプローチ1 i=2からn+1までのforループを使用して、iがnの因数であるかどうかを確認し、次に