在Python中找到两个数字的移位表之间的最小差异

假设我们有两个数 p 和 q,我们必须在 p 和 q 的移位无限表中找到任何项之间的最小差异,这些移位是 r 和 s,其中 r, s >= 0。

所以,如果输入像 p = 7 和 q = 17,r = 6 和 s = 3,那么输出将是 0,因为表 7 = [7, 14, 21, 28, 35, 42, 49, ...] 和表 17 = [17, 34, 51, 68, 85, 102, 119, ...],那么 7 的移位表将是 [13, 20, 27, 34, 41, 48, 55 , ...] 和 17 的移位表将是 [20, 37, 54, 71, 88, 105, 121, ...],那么这些移位表的两项之间的最小差异是 20-20 = 0。

在线示例

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

import math

def get_minimum_diff (p, q, r, s):

   g = math.gcd(p,q)

   difference = abs(r-s) % g

   return min(difference, g - difference)

p = 7

q = 17

r = 6

s = 3

print(get_minimum_diff(p, q, r, s))

输入

7,17,6,3
输出结果
0

以上是 在Python中找到两个数字的移位表之间的最小差异 的全部内容, 来源链接: utcz.com/z/335660.html

回到顶部