在Python中找到两点间的整点坐标数

在Python中找到两点间的整点坐标数

假设我们提供了两个点(p1,q1)和(p2,q2)。如果在两个给定点之间画直线,则要查找整数坐标数(x和y值均为整数)。返回点数。

因此,如果输入为p1 = 3,q1 = 3,p2 = 6,q2 = 6,则输出将为2。如果我们画一条直线,我们会发现点(5,5)和(6,6)位于直线上。

为了解决这个问题,我们将按照以下步骤进行:

  • 定义一个函数gcd_find()。这将采用x,y
    • 如果y与0相同,那么
      • 返回x
    • 返回gcd_find(y,x mod y)。

从主方法/函数,执行以下操作

  • 返回gcd_find(| p2-p1 |,| q2-q1 |)-1

示例

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

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程