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

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


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

問題の説明 −数値が与えられているので、数値のすべての偶数因子の合計を表示する必要があります。

アプローチ

数値が奇数かどうかを確認し、偶数の因子がないため、0を返します。

数が偶数の場合、計算を実行します。 20を除く他のすべての項は、偶数の因数の合計を生成するために乗算されます。

偶数因子のすべての奇数を削除するために、1である20を無視します。このステップの後、偶数因子のみを取得しました。 2は私たちが利用できる唯一の素数であることに注意してください。

次に、以下の実装を見てみましょう-

# math module
import math
# Returns sum of all
# factors of n.
def sumofevenFactors(n) :
   # If n is odd
   if (n % 2 != 0) :
      return 0
   # Traversal
   res = 1
   for i in range(2, (int)(math.sqrt(n)) + 1) :
      # if i divides n
      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
   # when n is a prime number
   if (n >= 2) :
      res = res * (1 + n)
   return res
# main
n = 22
print(sumofevenFactors(n))

出力

24

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

上の図に示すように、すべての変数と関数はグローバルスコープで宣言されています。

結論

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


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

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

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

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 入力された数値を指定して、指定された数値の因子の最小合計を求めます。 ここでは、すべての因子とそれに対応する合計を計算し、それらの中から最小値を見つけます。 したがって、数の積の最小合計を見つけるために、積の素因数の合計を見つけます。 これが問題の反復実装です- 例 #iterative approach def findMinSum(num):    sum_ = 0    # Find factors of number and add to the sum