各桁の数を足すことを1桁になるまで繰り返すゲーム
例えば「12345」という数があったとします。
「12345」の各桁の数を足します。
1+2+3+4+5=15
「15」の各桁の数を足します。結果が1桁になるまで繰り返します。
1+5=6
つまり「12345」は「6」になりました。
参加者はこれを行い、早く結果を出した人が勝ち、というゲームです。
プログラム
結果を求めるプログラムをJavaScriptで書いてみました。サンプル
if(parseInt(t)<10){
return(t);
}else{
var sum=0;
for(var i=0;i<t.length;i++){
sum=sum+parseInt(t.substr(i,1));
}
return(keisan(sum.toString()));
}
}
必勝法
このゲームには必勝法があります。
まず「9」は無視していいです。
例えば「2391」の場合、2+3+9+1=15、1+5=6となり、結果は「6」です。
これを「9」を無視して「231」で行います。2+3+1=6となり、結果は「6」です。
これはどんな数列で行っても同じです。
また足して9になる二つの数も無視していいです。
例えば「142376」の場合、1+4+2+3+7+6=23、2+3=5となり、結果は「5」です。
これを、2と7、3と6、を無視して「14」で行います。1+4=5となり、結果は「5」です。
だから例えば「95182736459」の場合は全部計算したら大変ですが、「9 5 18 27 36 45 9」として「9」と「足して9になる二つの数」を無視すると一瞬で「5」という結果が得られます。
絶対に勝てます。
2016年4月29日追記
「任意の自然素Nの2乗について「各桁の数を足すことを1桁になるまで繰り返すゲーム」をすると結果は「1,4,7,9」の4通りにしかならないようなのですが証明は可能ですか?」
というコメントをいただきました。
「こんなことによく気付いたなあ」と驚きました。実際に計算してみると次の通りになりました。
149779419149779419...
確かに1,4,7,9しかありません。
さらには149779419を繰り返します。つまり1から9まで、10から18まで、19から27まで、は同じ結果になります。
証明するには1から9までは実際に計算し10以上が同じ結果になることを示せばよさそうです。
ということで証明してみました。厳密には繰り下がる場合などを考慮しなければならないかもしれませんが御容赦。
(1)9の倍数を引いた数と結果は同じ
自然数aについて上のルールで計算した結果をxとします。
aが2桁以上のときa-9の結果がxとなることを示します。
a=10m+nと表します。nは下1桁目の数です。
a-9=10m+n-9=10(m-1)+(n+1)
これは「下2桁目の数を1引いて1桁目の数を1足す」ということなので結果は変わりません。
つまりaの結果とa-9の結果はxになります。
さらに言えばaの結果とaから9の倍数を引いた数の結果はxになります。
9の倍数を引くということは9を繰り返し引くのと同じだからです。
(2)自然素の2乗の結果は1,4,7,9の4通り
1から9までの2乗の結果は実際に計算して1,4,9,7,7,9,4,1,9になります。
aが2桁以上のときa=9m+nと表します。nは下1桁目の数です。
a^2=(9m+n)^2=81m^2+18mn+n^2
81m^2と18mnの部分は9の倍数です。
(1)によりa^2の結果はn^2の結果と同じになります。
2022年3月22日追記
この手法を「数字根」と呼ぶそうです。
[ 2012年6月29日 | カテゴリー: 小ネタ | タグ: 必勝法 , 数学 , 計算 ]
« セカンダリの次は? | Yahoo!スタティックマップAPIで白地図を »
コメント
-
エレガントかどうか判りませんが書いてみました
http://anond.hatelabo.jp/20160430091007 -
Nの2乗についてはNとNの各桁の和が9を法として等しいことと平方剰余を使えばすぐに証明できますよ~
-
これは検算のテクニックのひとつで「数字根」という名前があります。
追記お願いします。
任意の自然素Nの2乗について「各桁の数を足すことを1桁になるまで繰り返すゲーム」をすると結果は「1,4,7,9」の4通りにしかならないようなのですが証明は可能ですか?