“手撕“ 科技

手撕根号

  我们先来举个例子,算一算 87 \sqrt{87} 87 。首先我们知道 81 = 9 2 81 = 9^2 81=92,然后 87 − 81 = 6 87 - 81 = 6 8781=6,然后用 9 + 6 9 × 2 = 9 1 3 9 + \frac{6}{9 \times 2} = 9\frac 13 9+9×26=931,这个数约等于 9.3 9.3 9.3。所以 87 \sqrt{87} 87 也就约等于 9.3 9.3 9.3 了。我们用计算器计算一下看我们算的准不准:
在这里插入图片描述
  我们可以看到,这玩意儿还是比较准的。而且这个数也不是特例,所有的数都可以这样拆。那么这个东西的原理是什么呢?实际上原理无穷连分式,下面我们来证明一下这个东西:

  首先假设 x = a 2 + b x = a^2 + b x=a2+b,其中 a a a 是最大的平方数小于 x x x 的整数。然后我们就能得到:

x = a 2 + b x − a 2 = b ( x + a ) ( x − a ) = b x − a = b x + a x = a + b x + a \begin{aligned} &x = a ^ 2 + b \\ &x - a^2 = b \\ (\sqrt{x} + &a)(\sqrt{x} - a) = b \\ \sqrt{x} - &a = \frac{b}{\sqrt{x} + a} \\ \sqrt{x} = &a + \frac{b}{\sqrt{x} + a} \end{aligned} (x +x x =x=a2+bxa2=ba)(x a)=ba=x +aba+x +ab

  然后我们可以通过这个式子无穷连带下去:

x = a + b a + x = a + b a + a + b a + x = a + b a + a + b a + a + b a + x = a + b a + a + b a + a + b a + a + b a + ⋯ \sqrt{x} = a + \frac{b}{a + \sqrt{x}} = a + \frac{b}{a + a + \frac{b}{a + \sqrt{x}}} = a + \frac{b}{a + a + \frac{b}{a + a + \frac{b}{a + \sqrt{x}}}} = a + \frac{b}{a + a + \frac{b}{a + a + \frac{b}{a + a + \frac{b}{a + \cdots}}}} x =a+a+x b=a+a+a+a+x bb=a+a+a+a+a+a+x bbb=a+a+a+a+a+a+a+a+bbbb

x = a + b 2 a + b 2 a + b 2 a + b 2 a + ⋯ ≈ a + b 2 a \sqrt{x} = a + \frac{b}{2a + \frac{b}{2a + \frac{b}{2a + \frac{b}{2a + \cdots}}}} \approx a + \frac{b}{2a} x =a+2a+2a+2a+2a+bbbba+2ab

  这个也就是我们上面所给出的算式了,如果想要更精确的话那就多带几层就好了。

手撕 l n ln ln

  首先我们要记住 ln ⁡ 2 ≈ 0.693 \ln 2 \approx 0.693 ln20.693。还有一个公式 ln ⁡ x + 1 x ≈ 2 2 x + 1 \ln \frac{x + 1}{x} \approx \frac{2}{2x + 1} lnxx+12x+12,然后我们就能手撕 ln ⁡ \ln ln 了。举个例子:

ln ⁡ 11 = ln ⁡ ( 11 10 ⋅ 2 ⋅ 5 ) = ln ⁡ 11 10 + ln ⁡ ( 5 4 ⋅ 4 ) + ln ⁡ 2 = ln ⁡ 11 10 + ln ⁡ 5 4 + 3 ln ⁡ 2 ≈ 2 20 + 1 + 2 8 + 1 + 3 × 0.693 ≈ 2.36 \begin{aligned} \ln 11 = & \ln (\frac{11}{10} \cdot 2 \cdot 5) = \ln \frac{11}{10} + \ln (\frac{5}{4} \cdot 4) + \ln 2 = \ln \frac{11}{10} + \ln \frac{5}{4} + 3\ln 2\\ \approx & \frac{2}{20 + 1} + \frac{2}{8 + 1} + 3 \times 0.693 \approx 2.36 \end{aligned} ln11=ln(101125)=ln1011+ln(454)+ln2=ln1011+ln45+3ln220+12+8+12+3×0.6932.36

  用计算器按一下 ln ⁡ 11 \ln 11 ln11
在这里插入图片描述
  还是挺准的。我们现在来证明一下这个近似公式 ln ⁡ x + 1 x ≈ 2 2 x + 1 \ln \frac{x+1}{x} \approx \frac{2}{2x + 1} lnxx+12x+12

  首先泰勒展开 ln ⁡ ( 1 + x ) \ln(1 + x) ln(1+x)
ln ⁡ ( 1 + x ) = x − 1 2 x 2 + 1 3 x 3 − 1 4 x 4 + ⋯ \ln(1 + x) = x - \frac 12 x^2 + \frac 13 x^3 - \frac 14 x ^ 4 + \cdots ln(1+x)=x21x2+31x341x4+

  所以:
ln ⁡ ( 1 − x ) = − x − 1 2 x 2 − 1 3 x 3 − 1 4 x 4 − ⋯ \ln(1 - x) = -x - \frac 12 x^2 - \frac 13 x^3 - \frac 14 x ^ 4 - \cdots ln(1x)=x21x231x341x4

  上下式相减:

ln ⁡ 1 + x 1 − x = 2 ( x + 1 3 x 3 + 1 5 x 5 + ⋯   ) \ln\frac{1 + x}{1 - x} = 2(x + \frac 13 x ^ 3 + \frac 15 x ^ 5 + \cdots) ln1x1+x=2(x+31x3+51x5+)

  令 x = 1 2 n + 1 x = \frac{1}{2n + 1} x=2n+11 x 3 , x 5 , ⋯ x^3,x^5,\cdots x3x5 都很小)

ln ⁡ 1 + x 1 − x = ln ⁡ n + 1 n = 2 2 n + 1 + Δ ( 一 个 很 小 的 值 ) ≈ 2 2 n + 1 \ln\frac{1 + x}{1 - x} = \ln\frac{n + 1}{n} = \frac{2}{2n + 1} + \Delta(一个很小的值) \approx \frac{2}{2n + 1} ln1x1+x=lnnn+1=2n+12+Δ()2n+12

  所以就有了这种算法。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值