快速开根法
给定一个$\sqrt{a^2}$,通过这个方法可以快速求出a。
假设给你一个数 1444,五秒内告诉我他的平方根,答案是38。怎么快速得到?
我们先给出一张表:
$$ \begin{gather} 1^2 = \boxed1 \\ 2^2 = \boxed4 \\ 3^2 = \boxed9 \\ 4^2 = 1\boxed6 \\ 5^2 = 2\boxed5 \\ 6^2 = 3\boxed6 \\ 7^2 = 4\boxed9 \\ 8^2 = 6\boxed4 \\ 9^2 = 8\boxed1 \\ \dots \end{gather} $$
很容易看出表中数字以5为中心水平对称。再回到刚才给出的数1444,我们只需要按照以下几个步骤就可以快速得到其平方根。
观察$144\boxed4$的最后一位,判断哪两个数的平方末尾数字和4相等。这里2和10 − 2 = 8的平方末尾数字都是4,都可能作为1444平方根的最后一位: $$ \sqrt{1444}= ?2 \quad 或 \quad ?8 $$
划去最后两位,其余开头数为14,找一个数的平方小于等于它。这个数是3,所以答案可能是32也有可能是38。
$$ \sqrt{14XX} $$ 3. 将我们找到的这个数3,乘以它的下一个数,即3 + 1 = 4这个数。看3 ⋅ 4和划去数以外数字的关系。可以看出14 > 3 × 4 = 12,所以最后一位数取8,而不是2。
确定$\sqrt{1444}=38$。
将这个问题普遍化,求$\sqrt{abc}$。
首先将c拿出,找到一个或两个的数字的平方的末尾数字等于它,即x2%10 = c或y2%10 = c 。此时x、y都有可能作为$\sqrt{abc}$的值的个位数字。
划去最后两位,得到$\sqrt a$,找到一个整数的平方小于等于它。设z2 ≤ a。此时z将作为$\sqrt{abc}$值的左边第一位,用z ⋅ (z+1)来判断最后两位数字最终的取值。设m = max{x, y},n = minx, y。
$$ \sqrt{abc}=\begin{cases} zm, a>z\cdot(z+1)\\ zn, a\leq z\cdot(z+1) \end{cases} $$
实际上本文的方法在网上可找到对应视频教程,但我就不给出来,你说气不气。