在 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