在 Python 中检查除数的数量是偶数还是奇数

pythonserver side programmingprogramming

假设我们有一个数字 n,我们必须找出它的除数总数是偶数还是奇数。

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

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

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

  • if n < 1 非零,则
    • 返回
  • sqrt := n 的平方根
  • 如果 sqrt*sqrt 与 n 相同,则
    • 返回 'Odd'
  • 否则,
    • 返回 'Even'

让我们看看以下实现以获得更好的理解 −

示例

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

相关文章