AI全盛の時代、これからは「整数の知識」がますます必要となるだろう。
というわけで、7進数の数を10進数に変換する整数問題を見つけたのでやってみた。
問題は次のとおり。
7進法で表わすと3けたとなる正の整数がある. これを11進法で表わすと, やはり3けたで, 数字の順序がもととちょうど反対となる. このような整数を10進法で表わせ. [’68 神戸大]
1968年(昭和43年)のちょっと昔の神戸大学の入試問題だ。
答案
7進数で表すと3桁となるの正の整数をabcとすると、これを11進数で表すとcbaになるから、
a×72 + b×71 + c×70 = c×112 + b×111 + a×110
49a + 7b + c = 121c + 11b + a
48a – 4b – 120c = 0
12a – b – 30c = 0
b = 12a – 30c = 6(2a – 5c)
よって、bは6の倍数で、7進数だから0≦b≦6なので、bは0または6だ。
場合分け
(i)b=0の場合
6(2a – 5c) = 0
2a = 5c
よって、aは5の倍数で7進数だから0≦a≦6なので、a=5、c=2となるから、
(a, b, c)=(5, 0, 2)
(ii)b=6の場合
6(2a – 5c) = 6
2a – 5c = 1
この方程式を満たすa, cを探すと、
(a, c)=(3, 1)
よって、
(a, b, c)=(3, 6, 1)
7進数→10進数
以上より、求める正の整数は「502」「361」となった。
が、これは7進数で表した数だ。
これらを10進数に変換すると、
502(7)=5×72 + 0×71 + 2×70 = 245 + 0 + 2 = 247
361(7)=3×72 + 6×71 + 1×70 = 147 + 42+ 7 = 196
となる。