Computer >> 컴퓨터 >  >> 프로그램 작성 >> 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