算数の問題
facebookにて、小学生のお子さんの問題を投稿していた人の問題を解いていたら面白くなってきたので、パターン解析してみた。
けど、最終的に面倒になって投げっぱなしなので注意。
問題はこう。
4桁の数について、それぞれの位の数字を大きいじゅんにならべた 数から小さいじゅんにならべた数をひくという計算を行います。
(1023を小さいじゅんにならべると0123となりますが、これは123と考えます。)
たとえば2194についてこの計算を2回行うと、
1回目・・・9421-1249=8172
2回目・・・8721-1278=7443
という問題。
設問では以下、計算させる問題と、パターンに気づかせる問題が続く。
問題では1974という数字が選ばれている。
設問にある操作を1974に対して行うと、
0回目 1974
2回目 9741-1479=8262
3回目 8622-2268=6354
4回目 6543-3456=3087
5回目 8730- 378=8352
6回目 8532-2358=6174
7回目 7641-1467=6174
!!!
とここで何回操作しても同じ答えになるって事に気づかせるのが肝の設問だと推察されます。
ではここで、他の数字を操作していくとどうなるんだろう。
数学的にうまく解く方法がなんぞないかなーと。
とりあえず、袋小路になっている数字を見つけ出すと解法が見つけられそうだったので、かたっぱしから数字を操作してみることに。
まずは、例題にあった2194
1回目 9421-1249=8172
2回目 8721-1278=7443
3回目 7443-3447=3996
4回目 9963-3699=6264
5回目 6642-2466=4176
あれ?これも1・4・6・7の組み合わせに来てしまった。
どうもどの数字で始めても何回か操作するうちにこの組み合わせに来るんじゃ無いかと怪しみ始める。$
例外は全ての桁が同じ数字の場合くらいだろう。
その場合には必ず一回の操作で答えが0になる。
1110とか一つでも違うの混じってると何とか操作が継続できそうだ。
操作での答えが3桁になった場合には、4桁目を0として扱えばなんとかなるし。
という訳で、例外は除いて、どうにか一般化できないか考えてみることに。
最終的に投げっぱなしなので、注意。
思い出したら続き考えるかも。
工学脳なので、数学的にどうかとかの突っ込みは大歓迎。
最初の種としての数字は4桁関係ないので、abcdと各桁の数字をおくことにする。
数学的に正しく書くと
1000a+100b+10c+d
(0≦d≦c≦b≦a≦9,1≦a,(a,b,c,d)∈(0,1,2,3,4,5,6,7,8,9,))
てな具合だろうか。
面倒なので、
”abcd"=1000a+100b+10c+d
(0≦d≦c≦b≦a≦9,1≦a,(a,b,c,d)∈(0,1,2,3,4,5,6,7,8,9,))
と定義することにする。
設問の操作は
"abcd"-"dcba"と書ける。
このとき各桁の計算は
1桁目d-aはaの方が必ず大きいため、計算の答えとしては10+d-aという計算が行われる。(全て同じ数字である場合は例外として除いているため。
2桁目も同様だが、1桁目の計算で繰り下がっているため、答えは9+c-bとなる。
3桁目は少しややこしい。b=cの場合とそうで無い場合で話が変わってくる。
b=cの場合、繰り下がりが発生するため、答えは9(∵9+b-c,b-c=0)
b>cであれば、b-cとなる。
4桁目もb=cであるかどうかで異なり、
b=cならばa-d-1,b>cならばa-d
となる。
そしてb=cの場合には、2桁目も必ず9になる。
まとめると、
b=cならば"(a-d-1)99(10+d-a)"
b>cならば"(a-d)(b-c)(9+c-b)(10+d-a)"
となる。
2回目の操作をする際には各要素の大きさを比べるところから始まるため、どうもb>cの方は分が悪そうなので、b=cについて考えてみる。
2桁目、3桁目が9であるため、非常に評価しやすい。
あとはa-d-1と10+d-aを評価すればいい。
のだけど、こいつらはA≧Bとでも置き換えよう。
というわけで、操作としては
"99AB"-"BA99"
となる。
この場合、同じようにできるので、A=9の場合かそれ以外を考えればすむ。
A=9の場合、"(8-B)99(B+1)"となる。
ここで、A=9となるのはa≦9∴a-d-1<9であるため10+d-a=9∴a-d=1∴a-d-1=B=0つまり、8991である。
それ以外の場合には、"(9-B)(9-A)A(B+1)"となる。
。。。これどう評価しよう。。。
と考えたところで面倒になりました。
1・4・6・7に収斂しそうってことでひとつ。