查詢一個數的奇因數之和,這是一個 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
所有變數都在全域性框架中宣告,如下面給出的圖中所示——
結論
在本文中,我們學習瞭解決查詢一個數的奇因數之和的方法
廣告