ニート歴10年からの数学日記

2008年〜2009年の高一の冬休みから無職。最長で4ヶ月ほどの中断アリ。

ジュニア算数オリンピックその後の新しい種類の問題 その9

グラフや幾何学の問題や、記述に関するメタ的な問題以外の今までに無い種類の問題について考察する。
【随時更新】解答に必要な機能まとめ - ニート歴10年からの数学日記【随時更新】計算量の減らし方まとめ - ニート歴10年からの数学日記を使う、必要になり次第付け加えていく。
サンプルを増やすことに注力したい。
 

 

09年度ファイナル問題 問題3

『おもてに1〜10の数字が1つずつ、赤かまたは黒のインクで書かれたカードが全部で10枚あります。
今、先生がこの10枚のカードを、裏にしてシャッフルし5枚ずつ、たかしくんとよしこさんに配りました。

配られた後の、下の2人の話を聞いて問いに答えなさい。
 たかし:「ぼくのカードは黒の数字の和のほうが赤の数字の和より大きいよ」
それを聞いたよしこさんは
 よしこ:「それなら、たかしくんの5枚のカードのうち、1枚の数字の色がわかったわ」

(問い1)よしこさんがわかったという、たかしくんのカードの数字と色を答えなさい。
(問い2)よしこさんの持っている、5枚のカードの数字を小さい順に答えなさい。

さらに話が進みます。
 たかし:「僕たちが持っているカードの、黒の数字の和は等しいみたい」
 よしこ:「それでも、たかしくんのカードの、どれが黒の数字なのか、1通りにどうしても、決められないわ」
それを聞いたたかしくんは、
 たかし:「ぼくの持っている、黒の数字のカードの枚数を教えたら、1通りに決められる?」
 よしこ:「う〜ん、それでもまだ決められないわ」

(問い3)たかしくんの持っているカードの、黒の数字の和を求めなさい。』


カード[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]。
カード[?][1]のカブり無しに[赤, 黒]のカブり有りから全部に挿入。(プログラミング言語ではなぜかリストは0から始まる)
たかし[ , , , , ]∪よしこ[ , , , , ]のカブり無しに[カード]のカブり無しを全部挿入。

[たかし]の[[?][1]=黒]の総和 > [たかし]の[[?][1]=赤]の総和。
[たかし]の1個が1通りに確定するように[よしこ]の[[?][ ]]を設定。

結果における[たかし]の一覧の∩。
結果における[よしこ]の[[?][ ]]。

[たかし]の[[?][1]=黒]の総和 = [よしこ]の[[?][1]=黒]の総和。
[たかし]の[[?][1]=黒]が1通りに確定しないように[よしこ]の[[?][1]=黒]を設定。
?? [たかし]の[[?][1]=黒]の個数が確定しても[たかし]の[[?][1]=黒]が1通りに確定しない。

結果における[たかし]の[[?][1]=黒]]の総和。


?の使い方が相当に怪しい、定まっていない。(その?での一覧の用意かな?)
別に俺はプログラミング言語を作っているわけでは無い。そういう書式は後から自由に考えられれば良いと思う。
やりたいことをハッキリさせるために、機能を制限してこうやって書いている。そのおかげで変な動作を見つけて考察することができる。
??の確定だとか確定しないだとかについて、整備する必要がある。もう少し溜まってきてから一気にやる。

この方法論で高校数学までは簡単になると思う(少なくとも意味論的には)。基礎論でトポロジーとか各ジャンルの入門書レベルまでも簡単になるだろう。そこまで行けば後は好きな奴が好きにやっていれば良い。
 

09年度ファイナル問題 問題5

『2けたの整数が3つあります。この中の2つの整数の和と差を、大きい順にすべて書き出したところ、
 94、72、50、44、28、22
となりました。
3つの整数を求めなさい。』


A > B > C、として、これらの数字はA+B、A+C、B+C、A-B、A-C、B-Cを並び替えたもの。
足し合わせると、4A+2B、=310。最も大きい数字はA+Bなので、A+B=94、2A+2B=188。4A+2B-2A-2B=310-188、2A=122で、A=61。
あとはBも計算できるし、72はA+Cと分かるのでCも計算できる。らしい。

最初にA > B > Cとした所が新しいかもしれない。その意味の考察については保留。
 

10年度トライアル問題 問題4

『A君、Bさん、Cさん、D君、E君の5人が自分たちの身長について、順番に次のように答えました。

 A「ぼくが1番背が高いよ」
 B「私が1番背が高いわ」
 C「背が高い順にならんだとき、私はBさんの2人前になるわ」
 D「背が高い順にならんだとき、ぼくはCさんより前になるよ」
 E「3人がウソをついているな」

5人のうち、だれが本当のことを言ってだれがウソを言っているかはわかりませんが、2人が続けてウソを言っていることはありません。それぞれの人の背は高い方から数えて何番目になるか答えなさい。』


並びの制約で、発言集[A = [0], B = [0], C = B-2, D < C, [発言集]の3個は!]のカブり無しから?個。!(!発言集[n] and !発言集[n+1])。
否定は多用するんでとりあえず!で書くことにする。しかし「[発言集]の3個は!」とか、随分アバウトだな。
 

10年度ファイナル問題 問題3

『ダイヤルのついた金庫があります。ダイヤルの数字0を▼に合わせてから(下図)、4つの数字を順に▼に合わせていくと、金庫を開くことができます。以下の4人の話を聞いて、①最初の数字、②2番目の数字、③3番目の数字の順に答えなさい。

(図)   ▼
循環リストで[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

矢澤君:どこかに6があったよ。0が最後の数字だったね。あと9はなかったね。
三田君:ダイヤルを回すのは、4目盛り動かすのが2回、3目盛りが1回、1目盛りが1回だったよ。でも、それぞれどちら方向に回したかは覚えてないな・・・。
中山君:1回目は時計回りでした。3回目は反時計回りでした。
八木君:4目盛りを連続しては回さなかったです。』


ダイヤル[?][0]のカブり無しの中に[4, 4, 3, 1]のカブり無しから全部。
ダイヤル[0][1]に-を挿入、ダイヤル[2][1]に+を挿入。(後から気付いたけど、金庫なんで時計回りに回すと逆に進む)
!(ダイヤル[n][0] = 4 and ダイヤル[n+1][0] = 4)

で、イメージとしては、0→ダイヤル[0]→A→ダイヤル[1]→B→ダイヤル[2]→C→ダイヤル[3]→0。
このA or B or C = 6。

人間の思考としては、このルールで足したり引いたりして0から6に行って、返ってこれるか。
前半は生成できるんで、その前半を当てはめて6を通って帰るかどうか。それ自体は計算量的に問題無くて、あとはどう形式化するかだろう。
普通のが横方向の選択肢だとしたら、これは前方向の選択肢という感じだろうか。

答えを見ると、0から始まって0に返ってきているので、時計回りと反時計回りの差は10の倍数になる。三田君の話から、時計は合計で12回っているので、時計回りに1・反時計回りに11、時計回りに6・反時計回りに6、時計回りに11・反時計回りに1、のどれか。
まず最初は、中山君の発言から最初に時計回りに回して9になるが、矢澤君の発言から9は無いのでボツ。
次の6と6は、4と4と3と1を足し合わせても作れないのでボツ。
で最後の選択肢が、中山君の発言から3回目は反時計回りで決定で、八木君の発言から4回目が時計回りに4なのも決定。後は残りの時計回りで、数字を当てはめて2通りから選ぶだけ。
差が10の倍数になることを見切って、合計12で全体も出す、という感じか。