求两对整点坐标连线之间是否存在其他的整点坐标。

证明过程非常的简单:

有两对整点(x1,y1)(x2,y2),我们现在以(x1,y1)为原点,那么(x2,y2)的相对坐标就是(x2-x1,y2-y1)

设  \Delta x=x2-x1

\Delta y=y2-y1 

则有两点之间的连线斜率(假设斜率是存在的)

k=\frac{\Delta y}{\Delta x}  

设,两点之间存在 一个点(x,y)其也在这条直线上,那么则有:

\frac{\Delta y}{\Delta x}=\frac{y}{x}

又因为,0 ,  0 

\Delta y\Delta x 最大公因数为1的时候,也就是\Delta y/\Delta x 无法约分 的时候, 那么 y/x 要想与之相等,只能取得值为 \Delta y\Delta x 本身。

比如  6/4   可以约分 ,  所以 3/2 -> (3,2) 就是它们之间的整点解。

综上所述,两对整点坐标连线之间是否存在其他的整点坐标,只需要看已知的两对整点坐标 的斜率, 分母,分子的最大公因数是否为1,若为1,不存在,若不为1,存在。

证毕。

你可能感兴趣的:(杂题学习,gcd,数学,c++)