「プログラマの数学」を読んで、指数法則について分かったこと

導入

先日、Amzonでベストセラーになっていた、「プログラマの数学」という本を購入しました

Twitterのタイムラインに頻繁に流れてきていたので、前々から気になっていたのですが、なかなかタイミングが合わずやっと購入した次第です

その中で個人的に目から鱗であった指数法則に関する内容を忘れないようにメモしていきたいと思います

余談ですが、筆者はバリバリの文系人間で、数学は高校1年生の時についていけなくなりました

指数法則とは

2の2乗など、中学校で学ぶアレ

目から鱗だった内容

0乗と-n乗に関する記述

0乗

0乗すると1になる

-n乗

例えば2の-2乗は4分の1となる

何が目から鱗であったか

今まで読んできた参考書などでは、0乗すると1になり、-n乗は分数となることは書かれていたものの、何故そうなるかまでは書かれていなかった

「プログラマの数学」の中では、その「何故」が書かれていた

法則を考える

個人的に最もポピュラーであると考える、2の乗数を例に書いていく

2の1乗 = 2
2の2乗 = 2 x 2 = 4
2の3乗 = 2 x 2 x 2 = 8

このように2のn乗は2をn回かけることで求めることが出来る

ここで発想を変えて考えてみる

2の3乗 = 2 x 2 x 2 = 8
2の2乗 = 2 x 2 = 4
2の1乗 = 2

2のn乗は、nが1小さくなるにつれて、値が2分の1となっていく

2の0乗も同じように、2の1乗を2分の1したものと考えると、2の1乗は2であるため、その2分の1は1となる

さらに2の-1乗は2の0乗である1を2分の1した値となり、2分の1となる

これこそが今までの私にはなかった発想である

まとめ

どこか公式的に捉えていたものを、論理的に理解することが出来、非常に晴れやかな気持ちになった

まだ全て読み終えたわけではないので、引き続き読んでいきたいと思う

0の0乗は一義的には決定できないが、0の0乗=1としておくと都合がいいからか、いくつかのプログラミング言語は 1 としているのでややこしい。

13contribution

指数”法則”という一種の法則は定義が存在しないで他の方も言われていますが、”そうしておくと都合がいい/そうしておくと今までの数学の”定義”を壊さない”程度です。
指数は
an×am=an+m
を満たします。

記事の例を使うと、
22=14
というのは

22×22=22+(2)=20=1

を満たすことになります。

22×22=1
4×22=1
を満たす2214ですよね。

この理解のほうが一般的なような気がします。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.