HHeLiBeXの日記 正道編

日々の記憶の記録とメモ‥

ある自然数が3の倍数であるかどうかを簡単に判別する方法

ある自然数Nを3で割った余りを求めるには、Nの各桁の数を合計した値を3で割った余りを計算すればよい。
当然、この余りが0(zero)であるならば、Nは3の倍数であると言える。

言われてみれば一度はどこかで聞いていることなのだが、ふと、これを証明しようと思ったらしい。

証明

事前準備

まず、次の命題を証明する。

10^{n}-1は3の倍数である。( n自然数)

10^{n}-1
     = \left(9+1\right)\times 10^{n-1}-1
     = 9\times 10^{n-1}+10^{n-1}-1
     = 9\times 10^{n-1}+\left(9+1\right)\times 10^{n-2}-1
     = 9\times 10^{n-1}+9\times 10^{n-2}+10^{n-2}-1
     = \ldots 
     = 9\times 10^{n-1}+9\times 10^{n-2}+\ldots 9\times 10^{n-n}+10^{n-n}-1
     = 9\times\left(10^{n-1}+10^{n-2}+\ldots 10^{n-n}\right)+10^{0}-1
     = 9\times\left(10^{n-1}+10^{n-2}+\ldots 10^{n-n}\right)
括弧の中は整数なので、全体としては3の倍数になる。
したがって、命題は証明された。
本題

さて、主目的の命題の証明。

任意の整数 Nについて、次の2つは等しい。

  •  Nを3で割った余り
  •  Nの各桁の数字の和を3で割った余り
 k自然数として、 Nの一の位から数えて k桁目の数字を a_{k}(a_{k} = 0, 1, \ldots 9)とおく。
すると、 Nは次のように表すことができる。( sgn = -1, 1)
     N = sgn\sum_{k}\left(a_{k}\times 10^{k-1}\right)
また、「 Nの各桁の数字の和 S_{N}」は次のように表すことができる。
     S_{N} = \sum_{k}a_{k}
ここで、先に証明した
    10^{n}-1は3の倍数である。( n自然数)
を使うために、 Nの式を変形する。
 N = sgn\sum_{k}\left(a_{k}\times 10^{k-1}\right)
     = sgn\sum_{k}\left(a_{k}\times \left(10^{k-1}-1+1\right)\right)
     = sgn\sum_{k}\left(a_{k}\times \left(10^{k-1}-1\right)+a_{k}\right)
     = sgn\sum_{k}\left(a_{k}\times \left(10^{k-1}-1\right)\right)+sgn\sum_{k}a_{k}
     = sgn\sum_{k}\left(a_{k}\times \left(10^{k-1}-1\right)\right)+sgn S_{N}
ここで、この式の第一項は3の倍数となるため、
 Nを3で割った余りは第二項を3で割った余りに等しくなる。
したがって、命題は証明された。

「Quod Erat Demonstrandum、証明終わりっ!」(謎)