Python中求两点间直线上积分坐标个数的程序

假设,我们已经获得了两个点 (p1, q1) 和 (p2, q2)。如果在两个给定点之间画一条直线,我们必须找出积分坐标的数量(x 和 y 值都是整数)。返回点数。

所以,如果输入像 p1 = 3, q1 = 3, p2 = 6, q2 = 6,那么输出将是 2 如果我们画直线,我们会看到点 (5,5) 和 (6 ,6) 位于直线上。

示例

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

def gcd_find(x,y):
   if y == 0:
      return x
   return gcd_find(y,x % y)

def solve(p1,q1,p2,q2):
   return gcd_find(abs(p2 - p1),abs(q2 - q1)) - 1

print(solve(3,3,6,6))

输入

3,3,6,6
输出结果
2

猜你喜欢