首页 > 解决方案 > Python中整数整除的限制

问题描述

import math

n, k = map(int, input().split())

print('NO' if (math.floor(n/k) % 2 == 0) else 'YES')

上面的代码将 2 个整数 n 和 k 作为输入,并尝试判断n/k 的下限是奇数还是偶数。

现在测试用例:

  1. 输入:n = 10 和 k = 3 输出:是 判决:正确。

  2. 输入:n = 1000 和 k = 3 输出:是 结论:正确。

  3. 输入:n = 10000000000000000 和 k = 3 输出:是 判决:正确。

  4. 输入:n = 100000000000000000 和 k = 3 输出:NO 判决:错误。

  5. 输入:n = 1000000000000000000 和 k = 3 输出:NO 判决:错误。

现在,我发现对于 n < 10e16,它工作正常,但对于 n = 10e17、10e18 等,它给出了错误的答案。我无法找到这种行为的解释。

提前致谢。

快乐编码

标签: pythoninteger-divisionfloor

解决方案


推荐阅读