python - 链式模运算的最大值

标签 python python-3.x modulo

If n = p % q % r where p, q and r are positive integers and p > q > r, what is the maximum possible value that can be assigned to n? (answer in terms of p, q and/or r)

我是否正确,因为表达式是从左到右求值的,那么 n 就等同于 (p % q) % r 因此无论(p % q)是,n最多只能是r-1?

最佳答案

一般来说最大值为n将是 min(q - 1, r - 1) .

因为:

n = (p % q) % r

然后:

如果(q - 1) < (r - 1) , 然后 (p % q) < (r - 1)所以(p % q) % r == (p % q)因此 n <= min(q - 1, r - 1)这是 q - 1 .

如果(q - 1) >= (r - 1)然后(如他的问题中所述)n < r - 1这是 min(q - 1, r - 1)在那种情况下。

所以:

p > q > r , 然后 min(q - 1, r - 1)r - 1 , 所以 n最多是r - 1 .

关于python - 链式模运算的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59527877/

相关文章:

solr - 如何在Solr 3.3中实现mod功能

python - 识别特定字符串并将其放置在同一索引中

python - 我可以在不使用图像库的情况下重新缩放图像吗?

python - 错误哈希+盐密码

c++ - 你为什么要将 10^9+7 加到一个数字上,然后用 10^9+7 求模

math - 找到两个整数的最大同余模?

python - tensorflow 错误 "has type list, but expected one of: int, long, float"

python - 使用 kivy 将加速度计数据存储在 json 文件中时出错。

python - 为非维护项目的fork创建pypi包

python - 创建一个打印雪花的二维数组 PYTHON