因为LATEX挂了,所以重新交一遍
分析
我们设原向量为$(a_1, b_1)$,$(a_2, b_2)$。
设新向量为$(a_3, b_3)$,$(0, a_4)$
$\therefore$ $a_3=gcd(a_1,a_2)$
$\therefore$ $a_1x + a_2y = a_3$
$\therefore$ $a_1x + a_2y = gcd(a_1,a_2)$ $b_1x + b_2y = b_3$
$\begin{cases}a_1x + a_2y = 0\b_1x + b_2y = b_4\end{cases}$
$\therefore$ $-y = \dfrac{a_1x}{a_2}$
$\because$ $-y$是整数
$\therefore$ $a_2|a_1x$
即$\dfrac{a_2}{gcd(a_1,a_2)}|\dfrac{a_1}{gcd(a_1,a_2)x}$
又$\therefore$ $\dfrac{a_2}{gcd(a_1,a_2)}|\dfrac{a_1}{gcd(a_1,a_2)x}$互质
$\therefore$ $\dfrac{a_2}{gcd(a_1,a_2)}|x$
设$x=\dfrac{a_2}{gcd(a_1,a_2)}$
$\therefore$ $-\dfrac{a_1}{gcd(a_1,a_2)}$
$\therefore$ $b_4 = \dfrac{|b_1a_2-b_2a_1|}{gcd(a_1,a_2)}$
我们只需要不断的将向量转变到y轴上使得最终至多一个向量不再y轴上就行了。
代码:
1 |
|
码风较丑,见谅