・直接計算 S.H氏
数学の問題で、公式を使わないで直接的に手計算で解ききる強者を時々見かける。公
式を用いれば短時間で済むのに、「やってみよう」という好奇心から大変な直接計算を楽
しむという「ゆとり」に感動したという記事(朝日新聞 平成22年4月27日付け朝刊の「声」
欄)を見て、日本の高校生も捨てたものではないなと感じ入った。
次のような問題だったらしい。 「263 を3で割った余りを求めよ。」
263=(3−1)63≡(−1)63=−1≡2 (mod 3) なので、答えが「2」であることは、ほ
とんど暗算であるが、その生徒は、
263=9223372036854775808
と計算しきったという。これだけ計算が出来る生徒だったら、「3で割った余り」を求めること
も容易いかな?
このことについて、よおすけさんは(4月27日付け)
「263 を手計算って・・・僕も困難です。因みに、関数電卓で表示できるのは、
233(=8589934592) までです。」
また、zk43さんは(4月28日付け)
「log102=0.3010 だから、 log10263=18.・・・ で、 263 は19桁の数ですか。
mod を使えば一瞬で分かりますが、いろいろ考えるのも面白いですね。しかし、計算を実
行する気にはなりませんが…、若者のパワーはすごいですね。」
らすかるさんは、別解を考えられた。(4月28日付け)
263 の直接計算も、2進法なら簡単です。
263 を2進法で表すと、 1000…000(63個の0)
これを3で割った余りを求めるには、2進数 11000…000 (←3の倍数)を次々と引い
ていけばよい。
まず、 | 1000…000 (63個の0) |
110…000 (61個の0) |
において、2数の差は、 1000…000(61個の0) となり、2桁減る。
この演算を続けると、「263→261→259→…→21」となり、余りは、2と分かる。
(コメント) 2進数で、3の倍数「11000…000」を順次引くという手法にしびれました!
また、FNさんも、263 の直接計算をやられたそうである。(4月28日付け)
「まずごく素直に、2、4、8、16、・・・・と順に2倍していく。15分強かかりました。結果は
間違ってました。次は、210 =1024 からスタートして、220 、240 、223 と計算して、
263 に至る。10分弱でしたが、やはり間違ってました。間違わないように確認しながら
やれば、20分以上かかりそうです。因みに確認は「Maxima」を使いました。」
上記のように、いろいろな方が、「263 の直接計算」に果敢に挑戦されました。皆さんに
感謝します。
それでは「私は...?」というと、「263 の直接計算」は「やりたくないな...」というのが
本音です。
問題の趣旨が、「263 の直接計算」にあるのではなく、その結果を「3で割った余り」を求
めることが眼目なので、その解法に当然目がいってしまいます。「直接計算」ももちろん大
切なことですが、もう一歩足を踏み込んで、3でわった余りを求める工夫を考えることも高
校生に身につけて欲しい課題解決能力と考えます。
冒頭にある mod を用いる解法は高校ではあまりお目にかからないことなので、もっと素
朴な解法を考えてみました。
210=1024 は、3で割ると 1 余る数である。
そこで、 210=3n+1 (n は自然数) とおく。
このとき、 220=(3n+1)2=9n2+6n+1=3n(3n+2)+1 より、220 も3で割ると
1 余る数である。そこで、 220=3m+1 (m は自然数) とおく。
このとき、 260=(3m+1)3=27m3+27m2+9m+1=9m(3m2+3m+1)+1
より、260 も3で割ると 1 余る数である。そこで、 260=3k+1 (k は自然数) とおく。
このとき、 263=23×260=8(3k+1)=24k+8=3(8k+2)+2 となり、
263 を 3 で割った余りは、 2
である。
「一の位の数字」と題して、HN「よおすけ」さんからの投稿です。(平成25年6月9日付け)
1、2の数字を全部使って作られる2桁の数のすべての和は、12+21=33 となり、そ
の数の一の位の数字は「3」となります。
また、1、2、3の数字を全部使って作られる3桁の数のすべての和は、
123+132+213+231+312+321=1332
となり、その数の一の位の数字は「2」となります。
同じようにして、1〜9の数字を全部使って作られる9桁の数をすべて足したとき、その数
の一の位にくる数字を答えなさい。
らすかるさんからのコメントです。(平成25年6月9日付け)
全部で9!通りで、一の位が1〜9となるのがそれぞれ8!=40320通りだから、合計の
一の位は、0。
よおすけさんからのコメントです。(平成25年6月9日付け)
らすかるさん、解答ありがとうございます。この問題は、数学感動秘話の「直接計算」を読
んだのがきっかけで投稿しました。ただ、あちらが「余り」に対し、こちらは「一の位の数字」
ですが・・・。
(コメント) 1、2、3の数字を全部使って作られる3桁の数のすべての和は、
(100+200+300)・2!+(10+20+30)・2!+(1+2+3)・2!
=666×2=1332 となり、その一の位の数字は、「2」となります。
でも、このような解き方は、よおすけさんの趣旨に反するのかな?3桁の数を直接的
に書き上げて、それらを足すみたいな...。
よおすけさんからのコメントです。(平成25年6月11日付け)
自分が投稿した問題は簡単にいえば「一の位の数字を答えろ」ですから、ヤマ勘でも答え
られるような設定にしてあります。問題の趣旨などは関係ありません。問題文に「!」を使わ
なかったのは単に「!」を使える問題とは知らなかった・・・というだけの話なので… 。
攻略法さんからのコメントです。(平成25年6月11日付け)
1〜N (N=1、2、・・・、9)の数字を全部使って作られる9桁の数をすべて足したとき、そ
の数の一の位にくる数字を計算してみました。
1: 1 → 一の位は「1」
2: 33 → 一の位は「3」
3: 1332 → 一の位は「2」
4: 66660 → 一の位は「0」
5: 3999960 → 一の位は「0」
6: 279999720 → 一の位は「0」
7: 22399997760 → 一の位は「0」
8: 2015999979840 → 一の位は「0」
9: 201599999798400 → 一の位は「0」
この発展問題が、問題集「順列・組合せの問題に挑戦!」の第4問、第6問にあります。
(コメント) N=4〜9 については全て一の位は「0」になるんですね!
N=4のときは、 1+2+3+4=10 だから。
N=5のときは、 1+2+3+4+5=15 が5の倍数で、4!=24が2の倍数だから。
N=6のときは、 5!=120 だから。
N=7のときは、 6!=720 だから。
N=8のときは、 7!=5040 だから。
N=9のときは、 8!=40320 だから。