在 Python 中检查除数个数是偶数还是奇数


假设我们有一个数字 n,我们需要找到它的总除数个数是偶数还是奇数。

因此,如果输入像 n = 75,则输出将为偶数,因为除数为 [1, 3, 5, 15, 25, 75]。

为了解决这个问题,我们将遵循一种简单有效的方法。我们观察到,当一个数字是完全平方数时,它才具有奇数个除数。所以如果数字不是完全平方数,那么它将具有偶数个除数。因此,这里我们只需要检查数字是否为完全平方数,并根据此返回“奇数”或“偶数”作为输出。

为了解决这个问题,我们将遵循以下步骤:

  • 如果 n < 1 且不为零,则
    • 返回
  • sqrt := n 的平方根
  • 如果 sqrt*sqrt 与 n 相同,则
    • 返回 '奇数'
  • 否则,
    • 返回 '偶数'

让我们看看下面的实现,以便更好地理解:

示例

 在线演示

def solve(n):
   if n < 1:
      return
   sqrt = n**0.5
   if sqrt*sqrt == n:
      return 'Odd'
   else:
      return 'Even'
n = 75
print(solve(n))

输入

75

输出

Even

更新于: 2020-12-30

678 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.