4

36進法は"いい"記数法説

1063
0
$$\newcommand{a}[0]{\alpha} \newcommand{b}[0]{\beta} \newcommand{C}[0]{\mathbb{C}} \newcommand{d}[0]{\delta} \newcommand{dis}[0]{\displaystyle} \newcommand{e}[0]{\varepsilon} \newcommand{farc}[2]{\frac{#1}{#2}} \newcommand{G}[0]{\Gamma} \newcommand{g}[0]{\gamma} \newcommand{Gal}[0]{\mathrm{Gal}} \newcommand{id}[0]{\mathrm{id}} \newcommand{Im}[0]{\mathrm{Im}} \newcommand{Ker}[0]{\mathrm{Ker}} \newcommand{l}[0]{\left} \newcommand{ndiv}[0]{\nmid} \newcommand{ol}[1]{\overline{#1}} \newcommand{ord}[0]{\mathrm{ord}} \newcommand{Q}[0]{\mathbb{Q}} \newcommand{r}[0]{\right} \newcommand{R}[0]{\mathbb{R}} \newcommand{Re}[0]{\mathrm{Re}} \newcommand{s}[0]{\sigma} \newcommand{ul}[1]{\underline{#1}} \newcommand{Z}[0]{\mathbb{Z}} \newcommand{z}[0]{\zeta} \newcommand{ZZ}[1]{\mathbb{Z}/{#1}\mathbb{Z}} \newcommand{ZZt}[1]{(\mathbb{Z}/{#1}\mathbb{Z})^\times} $$

はじめに

 この記事では「$36$進法って実は優秀なんじゃないか?」という説について私なりに考察してみた話を紹介します。
 私たちが普段使っている$10$進法には次のような性質があります。

  • 自然数$n$の下$k$桁が$2^k$または$5^k$の倍数であるとき、$n$$2^k$または$5^k$の倍数である。
  • 自然数$n$の各桁の合計が$3$または$9$の倍数であるとき、$n$$3$または$9$の倍数である。

たとえば

  • $124$の下二桁$24$$4=2^2$の倍数なので$124$$4$の倍数
  • $1125$の下三桁$125$$125=5^3$の倍数なので$1125$$125$の倍数
  • $123456789$の各桁の合計$45$$9$の倍数なので$123456789$$9$の倍数

といった感じです。またこれらの逆も言えます。つまり

  • $1124$の下三桁$124$$8=2^3$の倍数ではないので$1124$$8$の倍数ではない。
  • $11125$の下四桁$1125$$625=5^4$の倍数ではないので$11125$$625$の倍数ではない。
  • $12345678910$の各桁の合計$55$$3$の倍数ではないので$12345678910$$3$の倍数ではない。

自然数の倍数判定においてこれらの判定法はかなり便利ですが、$7$$11$$13$などでも同じことを考えようとすると次のように少し煩雑になってしまいます。

  • 自然数$n=\sum^{6k}_{j=0}n_j10^j\quad(0\leq n_j\leq 9)$について
    $\dis\sum^k_{i=0}(5n_{6i+5}+4n_{6i+4}+6n_{6i+3}+2n_{6i+2}+3n_{6i+1}+n_{6i})$または
    $\dis\sum^k_{i=0}(-2n_{6i+5}-3n_{6i+4}-n_{6i+3}+2n_{6i+2}+3n_{6i+1}+n_{6i})$
    $7$の倍数であるとき、$n$$7$の倍数である。
  • 自然数$n=\sum^k_{j=0}n_j10^j\quad(0\leq n_j\leq 9)$について
    $\dis\sum^k_{j=0}(-1)^jn_j$$11$の倍数であるとき、$n$$11$の倍数である。
  • 自然数$n=\sum^{6k}_{j=0}n_j10^j\quad(0\leq n_j\leq 9)$について
    $\dis\sum^k_{i=0}(4n_{6i+5}+3n_{6i+4}+12n_{6i+3}+9n_{6i+2}+10n_{6i+1}+n_{6i})$または
    $\dis\sum^k_{i=0}(4n_{6i+5}+3n_{6i+4}-n_{6i+3}-4n_{6i+2}-3n_{6i+1}+n_{6i})$
    $13$の倍数であるとき、$n$$13$の倍数である。

つまるところ$10$進法では$2^k,5^k$$3,9(,11)$以外の倍数判定をするなら上のような方法をわざわざ覚えるより素直に割り算した方がよさそうということになります。でもどうせならもっと多くの倍数判定を簡単にできる方が便利ですよね。ということでそういう観点から何進法ならもっと使いやすいのか考えてみましょう。

倍数判定法

 まず上で紹介した倍数判定法がなぜ成り立つのかを確認しておきましょう。
 といっても仕組みは単純で$N$進法で表された自然数
$$n=\sum^k_{j=0}n_jN^j$$
$d$の倍数であるか判別したいとき、$N^j$$d$で割った余りを$r_j$とおいて$$n'=\sum^k_{j=0}n_jr_j$$
$d$の倍数であるかどうかを判別すればいいという話です。$r_j$の取り方から
$$n-n'=\sum^k_{j=0}n_j(N^j-r_j)$$
$d$の倍数になるので、もし$n$$d$の倍数であるとすると$n'=n-(n-n')$$d$の倍数になりますし、逆に$n'$$d$の倍数であるとすると$n=(n-n')+n'$$d$の倍数になるというわけです。
 また、ここで重要なのは$N^j-r_j$$d$の倍数であることにあるので
$$r'_j=\l\{\begin{array}{ll}r_j&(r_j\leq\frac d2)\\r_j-d&(r_j>\frac d2)\end{array}\r.$$
とおいても$N^j-r'_j$$d$の倍数になることから、$n'$の代わりに
$$n''=\sum^k_{j=0}n_jr'_j$$
$d$で割り切れるかを考えても同じことが言えます。$n''$においては各桁の値$n_j$に掛ける重り$r'_j$の大きさ(絶対値)が$\frac d2$以下になるので時によっては$n'$よりも計算が楽になります(符号を間違える可能性が高いことに目を瞑ればの話ですが...)。ちなみに
$$n=(n-n')+n'=(n-n'')+n''$$
からわかるように$n,n',n''$$d$で割った余りはそれぞれ等しくなります。

"いい"進法

 さて、冒頭で挙げた$N=10$進法における$d=2^k,5^k,3,9,11$の倍数判定法のように、$r'_j=0,\pm1$となってくれると計算する方としては助かるのでした。つまり$r'_j=0,\pm1$となるような$d$の数が多いような$N$進法はより"いい"記数法だと言っていいと思います。
 $r'_j$の取り方から$N^j-r_j$$d$の倍数、特に$d$$N-r_1$の倍数なので$r'_j=0,\pm1$となる$d$が多いということは$N-1,N,N+1$の約数の総数が多いということになります(逆に$d$$N-1,N,N+1$の約数であるとき$r'_j=0,\pm1$となることは簡単にわかります)。というわけでとりあえず$N=2$から順に$N-1,N,N+1$の因数を(素数のべきとして)列挙してみてどのような$N$のときにその総数が多くなるのか見てみましょう。

NN-1の因数Nの因数N+1の因数d
$2$$1$$2$$3$$2^k,3$
$3$$2$$3$$2^2$$2^2,3^k$
$4$$3$$2^2$$5$$2^k,3,5$
$5$$2^2$$5$$2,3$$2^2,3,5^k$
$6$$5$$2,3$$7$$2^k,3^k,5,7$
$7$$2,3$$7$$2^3$$2^3,3,7^k$
$8$$7$$2^3$$3^2$$2^k,3^2,7$
$9$$2^3$$3^2$$2,5$$2^3,3^k,5$
$10$$3^2$$2,5$$11$$2^k,3^2,5^k,11$
$11$$2,5$$11$$2^2,3$$2^2,3,5,11^k$
$12$$11$$2^2,3$$13$$2^k,3^k,11,13$
$13$$2^2,3$$13$$2,7$$2^2,3,7,13^k$
$14$$13$$2,7$$3,5$$2^k,3,5,7^k,13$
$15$$2,7$$3,5$$2^4$$2^4,3^k,5^k,7$
$16$$3,5$$2^4$$17$$2^k,3,5,17$
$17$$2^4$$17$$2,3^2$$2^4,3^2,17^k$
$18$$17$$2,3^2$$19$$2^k,3^k,17,19$
$19$$2,3^2$$19$$2^2,5$$2^2,3^2,5,19^k$
$20$$19$$2^2,5$$3,7$$2^k,3,5^k,7,19$
$21$$2^2,5$$3,7$$2,11$$2^2,3^k,5,7^k,11$
$22$$3,7$$2,11$$23$$2^k,3,7,11^k,23$
$23$$2,11$$23$$2^3,3$$2^3,3,11,23^k$
$24$$23$$2^3,3$$5^2$$2^k,3^k,5^2,23$
$25$$2^3,3$$5^2$$2,13$$2^3,3,5^k,13$
$26$$5^2$$2,13$$3^2$$2^k,3^2,5^2,13$
$27$$2,13$$3^2$$2^2,7$$2^2,3^k,7,13$
$28$$3^2$$2^2,7$$29$$3^k,3^2,7^k,29$
$29$$2^2,7$$29$$2,3,5$$2^2,3,7,29^k$
$30$$29$$2,3,5$$31$$2^k,3^k,5^k,29,31$
$31$$2,3,5$$31$$2^5$$2^5,3,5,31^k$
$32$$31$$2^5$$3,11$$2^k,3,11,31$
$33$$2^5$$3,11$$2,17$$2^5,3^k,11^k,17$
$34$$3,11$$2,17$$5,7$$2^k,3,5,7,11,17^k$
$35$$2,17$$5,7$$2^2,3^2$$2^2,3^2,5^k,7^k,17$
$36$$5,7$$2^2,3^2$$37$$2^k,3^k,5,7,37$

 こうしてみると$N=36$までの中で$N-1,N,N+1$の素因数の総数が一番多いのは$N=34$のときで、その数は$6$個となっています。また$1\sim7$番目の素数$p=2,3,5,7,11,13,17$の内$p=13$以外の倍数判定が簡単にできるということなのでこれは$34$進法が最強と言えるのではないでしょうか。
 でも$34$進法には、人が扱うにおいて、少し難点があります。その難点を考慮すると次に素因数の個数が多い$N=14,20,21,22,30,35,36$の中でも$36$進法が扱いやすいんじゃないかと私は思いました。

記数法の難点

 私たちが使っている記数法では各桁の値を表わすもの(仮数)として$0$から$9$までのアラビア数字に続き必要に応じて$A,B,C,\ldots$とアルファベットが用いられます。しかしそれゆえに仮数の最大値が何だったかわからなくなって四則演算、特に繰り上がりの計算に手間取ってしまうことがあります。たとえば$16$進法では仮数は$0$から$F$までの値を取りますが、この$F=15_{(10)}$という事実は日頃$10$進法を使っている私たちにとってはぱっと出てこないもので、私が数学の授業とかで$16$進法を扱うときなんて毎度「$A$$10$だから、$A,B,C,D,E,F...$」と数えていたものです(今でもそうですが...)。
 つまるところ、「中途半端にアルファベットを使うとややこしくなるから、いっそ$Z$まで使っちゃえばわかりやすいんじゃね?」と思ったわけです私は。そうして思い至った$10$個のアラビア数字と$26$個のアルファベットを全て使って表される$36$進法は、偶然にも上で見たようにいい感じに多めの"いい"倍数判定法が成り立つ記数法の一つというのですからそれはそれは"いい"記数法と言えるのではないでしょうか。

まとめ

  • $36$進法は"いい"倍数判定法がいい感じに多い
    • $n$の下$k$桁が$2^k,3^k$の倍数$\iff n$$2^k,3^k$の倍数
    • $n$の各桁の和が$5,7$の倍数$\iff n$$5,7$の倍数
    • $n$の各桁の交代和が$37$の倍数$\iff n$$37$の倍数
  • $36$進法は$0$から$Z$まで使うので繰り上がりの計算がしやすい

さて、晴れて$36$進法の良さがわかったところで九九ならぬ$ZZ$表でも眺めて締めとしましょう。

\begin{array}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}\hline &\;&1&2&3&4&5&6&7&8&9&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z\\\hline \\\hline 1&&1&2&3&4&5&6&7&8&9&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z\\\hline 2&&2&4&6&8&A&C&E&G&I&K&M&O&Q&S&U&W&Y&10&12&14&16&18&1A&1C&1E&1G&1I&1K&1M&1O&1Q&1S&1U&1W&1Y\\\hline 3&&3&6&9&C&F&I&L&O&R&U&X&10&13&16&19&1C&1F&1I&1L&1O&1R&1U&1X&20&23&26&29&2C&2F&2I&2L&2O&2R&2U&2X\\\hline 4&&4&8&C&G&K&O&S&W&10&14&18&1C&1G&1K&1O&1S&1W&20&24&28&2C&2G&2K&2O&2S&2W&30&34&38&3C&3G&3K&3O&3S&3W\\\hline 5&&5&A&F&K&P&U&Z&14&19&1E&1J&1O&1T&1Y&23&28&2D&2I&2N&2S&2X&32&37&3C&3H&3M&3R&3W&41&46&4B&4G&4L&4Q&4V\\\hline 6&&6&C&I&O&U&10&16&1C&1I&1O&1U&20&26&2C&2I&2O&2U&30&36&3C&3I&3O&3U&40&46&4C&4I&4O&4U&50&56&5C&5I&5O&5U\\\hline 7&&7&E&L&S&Z&16&1D&1K&1R&1Y&25&2C&2J&2Q&2X&34&3B&3I&3P&3W&43&4A&4H&4O&4V&52&59&5G&5N&5U&61&68&6F&6M&6T\\\hline 8&&8&G&O&W&14&1C&1K&1S&20&28&2G&2O&2W&34&3C&3K&3S&40&48&4G&4O&4W&54&5C&5K&5S&60&68&6G&6O&6W&74&7C&7K&7S\\\hline 9&&9&I&R&10&19&1I&1R&20&29&2I&2R&30&39&3I&3R&40&49&4I&4R&50&59&5I&5R&60&69&6I&6R&70&79&7I&7R&80&89&8I&8R\\\hline A&&A&K&U&14&1E&1O&1Y&28&2I&2S&32&3C&3M&3W&46&4G&4Q&50&5A&5K&5U&64&6E&6O&6Y&78&7I&7S&82&8C&8M&8W&96&9G&9Q\\\hline B&&B&M&X&18&1J&1U&25&2G&2R&32&3D&3O&3Z&4A&4L&4W&57&5I&5T&64&6F&6Q&71&7C&7N&7Y&89&8K&8V&96&9H&9S&A3&AE&AP\\\hline C&&C&O&10&1C&1O&20&2C&2O&30&3C&3O&40&4C&4O&50&5C&5O&60&6C&6O&70&7C&7O&80&8C&8O&90&9C&9O&A0&AC&AO&B0&BC&BO\\\hline D&&D&Q&13&1G&1T&26&2J&2W&39&3M&3Z&4C&4P&52&5F&5S&65&6I&6V&78&7L&7Y&8B&8O&91&9E&9R&A4&AH&AU&B7&BK&BX&CA&CN\\\hline E&&E&S&16&1K&1Y&2C&2Q&34&3I&3W&4A&4O&52&5G&5U&68&6M&70&7E&7S&86&8K&8Y&9C&9Q&A4&AI&AW&BA&BO&C2&CG&CU&D8&DM\\\hline F&&F&U&19&1O&23&2I&2X&3C&3R&46&4L&50&5F&5U&69&6O&73&7I&7X&8C&8R&96&9L&A0&AF&AU&B9&BO&C3&CI&CX&DC&DR&E6&EL\\\hline G&&G&W&1C&1S&28&2O&34&3K&40&4G&4W&5C&5S&68&6O&74&7K&80&8G&8W&9C&9S&A8&AO&B4&BK&C0&CG&CW&DC&DS&E8&EO&F4&FK\\\hline H&&H&Y&1F&1W&2D&2U&3B&3S&49&4Q&57&5O&65&6M&73&7K&81&8I&8Z&9G&9X&AE&AV&BC&BT&CA&CR&D8&DP&E6&EN&F4&FL&G2&GJ\\\hline I&&I&10&1I&20&2I&30&3I&40&4I&50&5I&60&6I&70&7I&80&8I&90&9I&A0&AI&B0&BI&C0&CI&D0&DI&E0&EI&F0&FI&G0&GI&H0&HI\\\hline J&&J&12&1L&24&2N&36&3P&48&4R&5A&5T&6C&6V&7E&7X&8G&8Z&9I&A1&AK&B3&BM&C5&CO&D7&DQ&E9&ES&FB&FU&GD&GW&HF&HY&IH\\\hline K&&K&14&1O&28&2S&3C&3W&4G&50&5K&64&6O&78&7S&8C&8W&9G&A0&AK&B4&BO&C8&CS&DC&DW&EG&F0&FK&G4&GO&H8&HS&IC&IW&JG\\\hline L&&L&16&1R&2C&2X&3I&43&4O&59&5U&6F&70&7L&86&8R&9C&9X&AI&B3&BO&C9&CU&DF&E0&EL&F6&FR&GC&GX&HI&I3&IO&J9&JU&KF\\\hline M&&M&18&1U&2G&32&3O&4A&4W&5I&64&6Q&7C&7Y&8K&96&9S&AE&B0&BM&C8&CU&DG&E2&EO&FA&FW&GI&H4&HQ&IC&IY&JK&K6&KS&LE\\\hline N&&N&1A&1X&2K&37&3U&4H&54&5R&6E&71&7O&8B&8Y&9L&A8&AV&BI&C5&CS&DF&E2&EP&FC&FZ&GM&H9&HW&IJ&J6&JT&KG&L3&LQ&MD\\\hline O&&O&1C&20&2O&3C&40&4O&5C&60&6O&7C&80&8O&9C&A0&AO&BC&C0&CO&DC&E0&EO&FC&G0&GO&HC&I0&IO&JC&K0&KO&LC&M0&MO&NC\\\hline P&&P&1E&23&2S&3H&46&4V&5K&69&6Y&7N&8C&91&9Q&AF&B4&BT&CI&D7&DW&EL&FA&FZ&GO&HD&I2&IR&JG&K5&KU&LJ&M8&MX&NM&OB\\\hline Q&&Q&1G&26&2W&3M&4C&52&5S&6I&78&7Y&8O&9E&A4&AU&BK&CA&D0&DQ&EG&F6&FW&GM&HC&I2&IS&JI&K8&KY&LO&ME&N4&NU&OK&PA\\\hline R&&R&1I&29&30&3R&4I&59&60&6R&7I&89&90&9R&AI&B9&C0&CR&DI&E9&F0&FR&GI&H9&I0&IR&JI&K9&L0&LR&MI&N9&O0&OR&PI&Q9\\\hline S&&S&1K&2C&34&3W&4O&5G&68&70&7S&8K&9C&A4&AW&BO&CG&D8&E0&ES&FK&GC&H4&HW&IO&JG&K8&L0&LS&MK&NC&O4&OW&PO&QG&R8\\\hline T&&T&1M&2F&38&41&4U&5N&6G&79&82&8V&9O&AH&BA&C3&CW&DP&EI&FB&G4&GX&HQ&IJ&JC&K5&KY&LR&MK&ND&O6&OZ&PS&QL&RE&S7\\\hline U&&U&1O&2I&3C&46&50&5U&6O&7I&8C&96&A0&AU&BO&CI&DC&E6&F0&FU&GO&HI&IC&J6&K0&KU&LO&MI&NC&O6&P0&PU&QO&RI&SC&T6\\\hline V&&V&1Q&2L&3G&4B&56&61&6W&7R&8M&9H&AC&B7&C2&CX&DS&EN&FI&GD&H8&I3&IY&JT&KO&LJ&ME&N9&O4&OZ&PU&QP&RK&SF&TA&U5\\\hline W&&W&1S&2O&3K&4G&5C&68&74&80&8W&9S&AO&BK&CG&DC&E8&F4&G0&GW&HS&IO&JK&KG&LC&M8&N4&O0&OW&PS&QO&RK&SG&TC&U8&V4\\\hline X&&X&1U&2R&3O&4L&5I&6F&7C&89&96&A3&B0&BX&CU&DR&EO&FL&GI&HF&IC&J9&K6&L3&M0&MX&NU&OR&PO&QL&RI&SF&TC&U9&V6&W3\\\hline Y&&Y&1W&2U&3S&4Q&5O&6M&7K&8I&9G&AE&BC&CA&D8&E6&F4&G2&H0&HY&IW&JU&KS&LQ&MO&NM&OK&PI&QG&RE&SC&TA&U8&V6&W4&X2\\\hline Z&&Z&1Y&2X&3W&4V&5U&6T&7S&8R&9Q&AP&BO&CN&DM&EL&FK&GJ&HI&IH&JG&KF&LE&MD&NC&OB&PA&Q9&R8&S7&T6&U5&V4&W3&X2&Y1\\\hline \end{array}


 
 
・・
 
 
 
 
・・・・
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 
 
 
 
???「君、$36$進法では繰り上がりの計算がしやすいって言ったよね?」
 
 
???「じゃあ$M_{(36)}+A_{(36)}+T_{(36)}+H_{(36)}$はいくらになるかわかるよね?」
 
 
 
 
( ´_ゝ`)

 
 
 
 
 
 
(´_ゝ`)
 
 
 
 
 
 
 
 
 
${}$

yakekuso.png yakekuso.png

結局文字は少ないに越したことはないね!
現実的には$14$進数くらいが一番優秀なんじゃないですかね。
人間の手足の指が各$7$本ずつだったらもっと世界は違っていたかもしれませんね。
ちなみに$M_{(36)}+A_{(36)}+T_{(36)}+H_{(36)}=26_{(36)}=78_{(10)}$です。

では

投稿日:202187
更新日:512

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。

投稿者

子葉
子葉
960
209049
主に複素解析、代数学、数論を学んでおります。 私の経験上、その証明が簡単に探しても見つからない、英語の文献を漁らないと載ってない、なんて定理の解説を主にやっていきます。 同じ経験をしている人の助けになれば。最近は自分用のノートになっている節があります。

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中