Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình tìm số tọa độ tích phân trên một đường thẳng giữa hai điểm trong Python

Giả sử, chúng ta đã được cung cấp hai điểm (p1, q1) và (p2, q2). Chúng ta phải tìm ra số tọa độ tích phân (cả giá trị x và y đều là số nguyên) nếu một đường thẳng được vẽ giữa hai điểm đã cho. Số điểm được trả lại.

Vì vậy, nếu đầu vào là p1 =3, q1 =3, p2 =6, q2 =6, thì đầu ra sẽ là 2 Nếu chúng ta vẽ đường thẳng, chúng ta sẽ thấy rằng các điểm (5,5) và (6 , 6) nằm trên đường thẳng.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • Xác định một hàm gcd_find (). Điều này sẽ lấy x, y
    • nếu y giống 0, thì
      • trả về x
    • return gcd_find (y, x mod y)

Từ phương thức / chức năng chính, hãy thực hiện như sau -

  • trả về gcd_find (| p2 - p1 |, | q2 - q1 |) - 1

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

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))

Đầu vào

3,3,6,6

Đầu ra

2