查詢一個數的奇因數之和,這是一個 Python 程式


在本文中,我們將學習下面給出的問題陳述的解決方案——

問題陳述

給定一個輸入 n,任務是查詢一個數的奇因數之和。

這裡我們首先需要排除所有偶因數。

要除去所有偶因數,我們反覆除以 n,一直到它可以被 2 整除。完成此步驟後,我們只會得到該數的奇因數。

以下是實現——

示例

 線上演示

import math
def sumofoddFactors( n ):
   #prime factors
   res = 1
   # ignore even factors
   while n % 2 == 0:
      n = n // 2
   for i in range(3, int(math.sqrt(n) + 1)):
      count = 0
      curr_sum = 1
      curr_term = 1
      while n % i == 0:
         count+=1
         n = n // i
         curr_term *= i
         curr_sum += curr_term
      res *= curr_sum
   # n is a prime number.
   if n >= 2:
      res *= (1 + n)
      return res
# main
n = 27
print(sumofoddFactors(n))

輸出

41

所有變數都在全域性框架中宣告,如下面給出的圖中所示——

結論

在本文中,我們學習瞭解決查詢一個數的奇因數之和的方法

更新於: 2019 年 9 月 26 日

589 次瀏覽

開啟你的 職業生涯

完成課程並獲得認證

開始
廣告