查找一个数的奇因数之和,这是一个 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
所有变量都在全局框架中声明,如下面给出的图中所示——
结论
在本文中,我们学习了解决查找一个数的奇因数之和的方法
广告