Python程序来找到一个数字的更好的除数

假设我们有一个数字 n。我们必须根据这些条件找到 n 的除数,哪个更好:我们有两个数字 p 和 q,一个数字总和为更大的数字被称为比另一个更好。当数字之和相同时,数字越小越好。

所以,如果输入像 n = 180,那么输出将是 9,因为除数是 [1, 2, 3, 4, 5, 6, 9, 10, 12, 15, 18, 20, 30, 36, 45、60、90、180]。所以位和最大的数是[9, 18, 36, 45, 90, 180],但其中9是更好的数,因为它的值较小。

示例

让我们看下面的实现来更好地理解

def solve(n):

   div = 1

   md = 1

   for i in range(2, n + 1):

      k = i

      if n % i > 0:

         continue

      s = 0

      while k > 0:

         s += k % 10

         k /= 10

      if s > md:

         md = s

         div = i

   return div

n = 180

print(solve(n))

输入

180
输出结果
9

以上是 Python程序来找到一个数字的更好的除数 的全部内容, 来源链接: utcz.com/z/355055.html

回到顶部