OGATA Tetsuji の数学ブログ

数学科卒の30代ウェブプログラマーが書く数学ブログ Powered by MathJax

9で割り切れる数の性質について

小学生の知り合いに9の段のかけ算を両手で表現する方法を教えたことがあります。

酒の席などでその話を友人知人にすると驚いてもらえることがあって、ちょっとした話題に使ったりします。

かけ算の各段には九九を丸暗記していたときには気づかない様々な性質があるのですが、今回は9の段についての洞察を少々してみましょう。

9の段を手の指で表現

冒頭の @azumakuniyuki さんのツイートの画像にもある私の手ですが、これは

  • 10本の指のうち左から3番目の指を折る
  • 左側に2本、右側に7本
  • 9に3をかけると27

を表しています。つまり

  • 両手のひらを上に向けて10本の指を立てる
  • 左から  n 本目( 0 \le n \le 9)の指を折り曲げると、左側に  a = n - 1 本 、右側に  b = 10 - n 本の指がある
  • 10の位が  a、1の位が  b の数字を作ると  9 \times n  と一致している

ということが、どの10本の指の1本を折り曲げても成り立っていることになります。左から折り曲げる指を右にずらしていくと、それはかけ算九九の9の段になっているというわけです。

これの証明は簡単で、 a = n - 1 かつ  b = 10 - n という既知の関係、そして  a が 10の位であることから 2桁に見立てた数  x x = 10a + b と表現されるので

{ \displaystyle x = 10a + b = 10(n - 1) + 10 - n = 9n }

であることが分かります。

もちろん、他の段はこのような性質はありません。単純に考えれば9の足し算が1の位から1もらい10の段に1繰り上げることができることがこの手法に寄与していることはわかりますが、その理由も含め、「たまたまだ」と片付ける前に、9の段の性質を調べてみましょう。

元の数を9で割った余りと、元の数の各桁の和を9で割った余りを比較する

巨大な数が3で割り切れるか判定するのに「各桁の数を足した合計が3で割り切れるなら元の数も3で割り切れる」という判定法があるのはよく知られているようです。

実は9で割るときにも同様のことが言えます。

例えば、864 は 9 で割り切れますが({ 96 \times 9 = 864 })、各桁の和は { 8+6+4 = 18 } となり、これは 9で割り切れます。

18は9の段にある数として誰もが知っている数です。

ちなみに9で割り切れる2桁の数は10個あります

  • 18
  • 27
  • 36
  • 45
  • 54
  • 63
  • 72
  • 81
  • 90
  • 99

先ほどの手のひらでの試行を思い出してみましょう。9の段を表現した立っている指は、折り曲げた指以外の9本です。つまり2桁の数は各桁の合計が 9 になります。99だけは例外で 18 となりますが、これもさらに各桁の合計を取ると 9 になります。先ほどの864 も各桁の和が 18 になりましたが、再帰的に各桁の和を取ると 9 になってしまうのです。

この事をさらに考察していくと、9で割り切れる数はさらに強い以下の規則があることが想像できます。

定理:自然数 {x} が 9 で割り切れることと、{x} の各桁の和を再帰的に取り続けると9になることは同値

2つの条件が同値であるとは、片方が成り立てばもう片方も成り立つということです。

この定理を証明するために、数の性質や9の段の特徴を調べていくことにしましょう。

合同式と簡単な演算規則

各桁の和という表現が出てくる時、私達が使っている10進数を無視するわけにはいきません。

たとえば 864 という数値も  a=8, b=6, c=4 と各桁の数字を取り出したとした場合、元の数を組み立て直すと  100a + 10b + c となります。

式変形をすると

{ \displaystyle 100a + 10b + c = (a+b+c) + 99a + 9b = (a+b+c) + 9(11a+b) }

と等号で結ばれ、 9(11a+b) は 9で割り切れる(9 の倍数)ので、元の数が 9 で割り切れることと各桁の和が 9 で割り切れることは同値であると言えます。

これは数  x が3桁の場合のみの証明ですが、任意の桁数でも証明方針は似たようなものです。また等号で結ばれていることから、元の数と各桁の数が3で割り切れることは互いに同値であることもポイントです。

また、どんな巨大な  10^n であっても、それから1を引き算すると 9 が  n 個並んだ数になって、それは9で割り切れることが明白であり、 10^n は 9で割ると  n に関わらず 1 余るという見方もできるでしょう。

上記の限定的な証明内には「数同士の加減乗演算を行った結果の余りを求めるのと、数同士の余りを求めておいてから加減乗演算を行った結果は等しい(後者の結果が割る数より大きければ再度余りを取る)」という事実が背後にあります。この余りの等しさに着目した関係性が合同式と呼ばれるものです。

2つの数  u v は 9 で割った余りが等しい時

{ \displaystyle u \equiv v \quad (\mathrm{mod}\; 9) }

と書き「 u v は 9を法として合同」と言います。 u が 9で割り切れる場合は  u \equiv 0 \quad (\mathrm{mod}\;9) です。この記事では9以外の数で割ることはないので、 (\mathrm{mod}\;9) を省略している箇所があります。

加減乗演算と余りを取る演算は交換可能なことは  u \equiv r_u かつ  v \equiv r_v ならば以下が成り立つことを言います。

  •  pu + qv \equiv pr_u + qr_v

これを利用すると  mod\;9 において  10 \equiv 1 なので、任意の自然数  n に対して  10^n \equiv 1 が成り立ちます。これは上記の考察である「どんな巨大な  10^n であっても、それから1を引き算すると 9 が  n 個並んだ数になって、それは9で割り切れることが明白」というのと対応します。

記述量を減らしてより本質的な部分に着目したいこともあり、以降の証明は合同式を使います。

各桁合計関数の定義と定理の書き換え

一般的に  N 桁の数  x  10^n の位を  a_n とすると  x

{ \displaystyle x = \sum_{n=0}^{N-1} 10^n a_n \quad (0 \leq a_n \leq 9, \; a_{N-1} \neq 0) } 

と書くことができます。

べき乗が難しいという方も、10 のべき乗  10^n は 1 の右側に 0 が  n 個あると思えばわかりやすいでしょう。

上記の  x に対して以下ような各桁の和を求める関数  f を定義します。

{ \displaystyle f(x) = \sum_{n=0}^{N-1} a_n }

また、再帰的に  f を適用した場合、 f(f(f(x))) といった 3回適用したということを  f^{\circ 3}(x) というように略記します。

この時、先ほど書いた定理は以下のような簡潔な表現に置き換えることができます。

定理:以下の2つは同値

  • 自然数  x は 9 で割り切れる(条件P)
  •  f^{\circ M}(x) = 9 を満たす十分大きな自然数 {M} が存在する(条件Q)

これを証明しましょう。

定理に役立つ補題

証明方法を探るために数式を操作していると、合同式から一つ重要な補題を見出すことができます。

補題 x \equiv f(x) \quad (\mathrm{mod}\;9)

これの証明は簡単で、上述のように  10 \equiv 1 \quad (\mathrm{mod}\;9) が言えるので

{ \displaystyle x = \sum_{n=0}^{N-1} 10^n a_n \equiv \sum_{n=0}^{N-1} a_n = f(x) }

から従います。これにより  f(x) \equiv f(f(x)) \quad (\mathrm{mod}\;9) なども再帰的に従うので、任意の  M に対し

{ \displaystyle x \equiv f^{\circ M}(x) \quad (\mathrm{mod}\;9) }

であることもわかります。厳密に証明するには数学的帰納法などを使えばいいでしょうが、今回それは省略しても大丈夫でしょう。

これを元に定理を証明します。

定理の証明

QならばP は簡単で  f^{\circ M}(x) \equiv x より

{ \displaystyle x \equiv f^{\circ M}(x) = 9 \equiv 0 \quad (\mathrm{mod}\;9) }

なので

{ \displaystyle x \equiv 0 \quad (\mathrm{mod}\;9) }

余りが0ということは  x は 9 で割り切れることにほかならない。

PならばQ は数値が確実に減少していくという評価が必要ですが、以下のように証明することができるでしょう。

 x f(x) の定義とその各項を比較すると、

{ \displaystyle f(x) = \sum_{n=0}^{N-1} a_n \quad (0 \leq a_n \leq 9, \; a_{N-1} \neq 0) }

より各係数  a_n の最大最小を考えると

{ \displaystyle 1 \leq f(x) \leq 9N }

となる。つまり、どんな自然数  x に対しても  f を作用させ続けると

  • 急激に数は低減する
  •  f の作用回数によらず自然数のまま

なので、1桁の数に落ち着くことが想定される。

上記では  x N 桁だが、 f(x)  9N 以下であること、 9 \times 3 = 27  N = 3 のときに  f(x) が2桁になることから、 N \geq 3 の場合必ず桁数は小さくなる。

また  N= 2 のときは冒頭でも 9 (または18を経由して9)に落ち着くことを示しているので、十分大きい自然数  M が存在して  f M 回作用させると0より大きい1桁の自然数に落ち着くことが分かる。

この  M に対し  x \equiv 0 \quad (\mathrm{mod}\;9) なので

{ \displaystyle 0 \equiv x \equiv f^{\circ M}(x) \quad (\mathrm{mod}\;9) }

また  1 \leq f^{\circ M}(x) \leq 9  より、この範囲で9で割り切れる数は9なので

{ \displaystyle f^{\circ M}(x) = 9 }

が言える。(証明終) 

 f を作用させ続けた場合の桁数を評価する方法は他にもあるでしょう。解析的に  x の桁数は  \lfloor \log_{10} x \rfloor + 1 であることを使ったり、具体的な桁数の評価をせずとも数学的帰納法を使っても証明できるかなと想像しています。

なぜ9の段だけ特別なのか

この話をすると「他の段には同様の規則は無いのか」「9の段だけ特別なのはなぜか」といった質問を受けることがあります。

このような性質の理由の一つとして、9が10進数の中で最大の1桁の数字であること、 10 \equiv 1 \quad (\mathrm{mod}\;9) であるといった説明ができるでしょう。

例えば、6進数といった馴染みのない数表現の場合、最大の1桁の数は 5 になります。 5_{(6)} と6進数であることをわかりやすく書くと、 5 + 1 = 10_{(6)} であり  55 + 1 = 100_{(6)} です。

はたして 6進数での 5 の倍数は同様の性質を持っているのでしょうか。

  •  5 \times 1 = 5_{(6)}
  •  5 \times 2 = 14_{(6)}
  •  5 \times 3 = 23_{(6)}
  •  5 \times 4 = 32_{(6)}
  •  5 \times 5 = 41_{(6)}
  •  5 \times 10 = 50_{(6)}
  •  5 \times 11 = 55_{(6)}
  •  5 \times 12 = 104_{(6)}

確かに、各桁の和が 5 に収束していくようです。 55_{(6)} の場合、6進数の繰り上がりに気をつければ  5 + 5 = 14_{(6)} となり、それがさらに  1 + 4 = 5_{(6)} になるというわけです。

これも前述の考察のように  6_{(10)} = 10_{(6)} \equiv 1 \quad (\mathrm{mod}\;5) ということと  x

{ \displaystyle x = \sum_{n=0}^{N-1} 6^n a_n \quad (0 \leq a_n \leq 5, a_{N-1} \neq 0 ) }

と10進数の式で6進数表現することによって、同様のプロセスで6進数での5の倍数の性質が、今回証明した10進数での9の倍数の性質と同様に証明することができるでしょう。

関連資料

大昔「トリビアの泉」でも取り上げられていました。「トリビアの泉」大好きなので、フジテレビオンデマンドとかにあれば毎月課金するの勢いなのですが、無かったので YouTube にあった野良動画より。 


9の掛け算の答えは数同士を足していくと必ず9になる。トリビア

この動画では証明まではしていませんが、各桁を足し続けていくと9になることについて触れています。

その他の桁について

数同士のかけ算という至極素朴な内容ではありますが、調べていくと10進数であったり任意のp進数の性質といった部分に迫ったり、合同式の概念から代数学的な剰余体( \mathbb{Z} / n\mathbb{Z} )を見出すこともできるでしょう。簡単な概念であっても背後に隠れている性質を解き明かしていくことで発展的題材を扱うこともあり、学術的興味をかきたてられると思いませんか?

その他のかけ算九九の段については、また別の機会で触れることにしましょう。