kntty.hateblo.jp

ここに何か書く。

100 / (100+α) みたいな割り算の手計算を、近似でラクする

100や1000などのキリの良い数を、「それプラスちょっと」の数で割る、という手計算を迫られる場面が、 少なからず(少なからず?)ある。

ぱっと浮かぶ例としては、税込金額における税別金額の比率を求める、とか。

100 / 108 = ? (※食品テイクアウトは、いまも、8 %のはず。)

電卓なければ筆算なりをする訳だが、 108という桁多き数に9を掛けて、引き算して…と、初手から気が進まない。
しかも、分母分子が逆なら一瞬て答えが出るだけに、なんか癪に思う。

で、それなら割り算しないで近似すれば良いじゃん、という 気づきがあったので、ここに紹介する。

計算方法

  1. キリのいい数字を$p$、加える"ちょっと"の数を$α$ とし、元の分数を $\frac{p}{p + α}$ で表す。
    ここで、$x = \frac{α}{p}$ を計算する。
    これはすなわち、$\frac{p}{p + α} = \frac{1}{1 + x}$を満たすxを求めていることに他ならない。

      # 先ほどの例(p=100、α=8)。
      100 / 108 = 100 / (100 + 8) = 1 / (1 + 0.08)
      x = 0.08
    
  2. 近似式 $\frac{1}{1 + x} ≃ 1 - x + x ^ 2$ に基づいて、右辺を計算する。以上。

     1 - x + x^2 = 1 - 0.08 + 0.08^2
                 = 1.0000 - 0.0800 + 0.0064
                 = 0.9264
     よって、1/(1 + x) ≒ 0.9264
    

電卓で求めると 100 / 108 = 0.925925925... となって、誤差は 0.00048 ぐらいに収まる。

理屈

$f(x) = \frac{1}{1 + x}$のマクローリン展開による。

$\frac{1}{1 + x} = 1 - x + x ^ 2 - x ^ 3 + ...$

xのべき乗が並び、符号が交互に変わることに注意。 2乗の項までで近似したのが、先ほどの近似式である。

誤差$E$を計算すると、

$E = \left| \frac{1}{1 + x} - (1 - x + x ^ 2) \right| $
$\quad = \left| \frac{1}{1 + x} \{ 1 - (1 - x ^ 3) \} \right| = \left| \frac{x ^ 3}{1 + x} \right| $

となって、おおよそxの3乗のレベルの誤差となることが分かる。 $1 \gg x$なら、十分近似になる。

もちろん、精度を求めるなら、更に$x ^ 3$乗を引けば良い。αが1桁なら暗算でも何とかなるはず。

発展

p / (p - α) のパターンにも応用できる(例:1000/997)。
符号を変えた場合($x → -x$)でも当然成り立つから、

$\frac{p}{p - α} = \frac{1}{1 - x} ≃ 1 + x + x ^ 2$

を使えば良い。

また、α / (p + α) のパターン(例:8 / 108)であれば、 1から引く形に式変形すれば良い。

8 / 108 = 1 - 100/108 ≃ 1 - 0.9264 = 0.0736 (近似)
8 / 108 = 0.0740740... (真値)