« 3秒ルールはガチ | メイン | 日本のグーグルはフィルタされている! »

桁数の多い足し算の答えを瞬時に計算するように見える方法の証明 [ 教育, 記事 ]

Going My Way: 桁数の多い足し算の答えを瞬時に計算するように見える方法

電話番号を当てる方法なんかと同じ数学的なトリックですね.
きっちり証明されてないので,勝手に証明しますね.

ここでは,簡単のために4桁を扱います.
5679という数字を初期値として設定しましょう.
この数字に,証明の都合上,変数名を与えます.

X4=5, X3=6, X2=7, X1=9

次に,以下のように数字のやり取りがあったとしましょう.
ここで,自分が書く数字はa,相手が書く数字はbとラベルします.

a 5679

b 1272
a 8727

b 2241
a 7758

ぶっちゃけ.この答えは,25677です.
これを数学的な証明で立証したいと思います.

この味噌は,bの数字とそれに対するaの数字の和が9になることです.
aとbのやり取りの回数・・・厳密に言えば,bが書いた回数をnとしましょう.
一の位の演算は,次の数式で示すことができます.

X1+9n = 10n+(X1-n)

ここで,10nは桁上がりしてしまうので,一の位は(X1-n)になります.
ただし,条件があります.
この演算を円滑に進めるためには,以下の条件を満たす必要があります.

X1>=n && n<10

この条件は一の位がマイナスにならないための条件です.
一の位がマイナスになると,隣の位・・・つまり十の位が桁下がりを起こします.
いや,桁下がりを起こしてもいいんだけど,計算が1ステップ増えます.
間違いやすくなるので,やめましょう.

次に,十~千の位はどうなるのでしょうか?

Xm+9n+n = Xm+10n

ここで,mは自然数で,十~千の位ならば2~4が入ります.わかるかな?
左辺式中の9nはbとそれに対するaのやり取りによって生まれるその位の数,
nは下の位から桁上がりしてきた数です.
結果として,右辺がXm+10nになります.
10nは桁上がりなので,この位はXmになります.

最終的に,千の位(m=4)が計算された際に発生した桁上がり分の10nが,
1つ上の位である万の位に現れます.
つまり,それは万の位でのnです.

これをまとめますと,

万の位 n
千の位 X4
百の位 X3
十の位 X2
一の位 (X1-n)

となります.

今回はn=2, X4=5, X3=6, X2=7, X1=9で計算しているので,
結果は,25677になるんですねぇ.
数学のトリックはすごいですねぇ.


200609241613追記:
勘のいい方ならもうわかってると思いますが,
最上位の桁に9を書かれるとマズイですね.
上の例では4桁を想定してますから,
最上位に9・・・例えば9876なんて書かれると,
0123という不自然な数値を書くことになり,
トリックを見破られる可能性を露呈します.
まぁ.ゾロ目を書かれると,法則性に気付かれそうです.
まして,9999なんて書かれたら・・・