假设,我们已经获得了两个点 (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