解答・解説

文字列の変化規則と100秒後の先頭・末尾【0039】 解答・解説

このページは以下の問題の解説ページです。
問題を解きたい方は下をクリックして問題ページをご覧ください。
スクロールすると解説が始まります。

解答

先頭: CBBABAC

末尾: ACBACCB

解説

こういう規則性の問題は規則が分かるまで書き続けるのがいいと思います。

何秒後文字列
0A
1B
2C
3BA
4CB
5BAC
6CBBA
7BACCB
8CBBABAC
9BACCBCBBA
10CBBABACBACCB
11BACCBCBBACBBABAC

これを眺めると、例えば6秒後に出てくる “CBBA” が、8秒後の先頭に出てきていたり、9秒後の末尾に出てきたりしていることが分かります。

そこから以下のルールに気付けるかがこの問題のポイントです。

  1. 4番目以降、どの文字列も、「2秒前の文字列」を左に、「3秒前の文字列」を右に置いた形となっている。

    例: 10秒後の “CBBABACBACCB” は 8秒後の “CBBABAC” と 7秒後の”BACCB” を結合させています。

  2. 先頭部分は2秒周期で固定されている。

  3. 末尾部分は3秒周期で固定されている。

2. と 3. の理由は 1. から説明できます。

どの文字列も「左側(先頭)」には2秒前の文字列がそのまま置かれるため、先頭部分は2秒前の先頭と同じになります(偶数秒同士、奇数秒同士で同じ)。 同様に、「右側(末尾)」には3秒前の文字列がそのまま置かれるため、末尾部分は3秒前の末尾と同じになります(秒数を3で割った余りが等しいもの同士で同じ)。

先頭7文字

2. の法則より、100秒後の先頭7文字は10秒後の先頭7文字と同じです。なぜなら 100−2×45=10100 - 2 \times 45 = 10 だからです。

(※8秒後の時点で7文字「CBBABAC」に達しており、以降の偶数秒の先頭7文字は固定されます)

よって、答えは CBBABACです。

末尾7文字

3. の法則より、100秒後の末尾7文字も10秒後の末尾7文字と同じです。なぜなら 100−3×30=10100 - 3 \times 30 = 10 だからです。

(※7秒後は5文字しかありませんが、10秒後は12文字あるため、末尾7文字「ACBACCB」が確定し、以降の「3で割って1余る秒数」に引き継がれます)

よって、答えは ACBACCBです。

算数のたきび

10秒後の文字列が先頭にも末尾にも使用できると気づいたのは偶然でした。

作者アイコン

作問者: 算数のたきび

灘中高 → 東大 → Googleを経て現在

元灘中高数学研究部(部長4年間)。何十年も前に文化祭で「灘中入試模試」企画を始めて、第1回〜4回の作問を担当。算数好きが楽しめるようなオリジナル算数難問をお届けします。