左から100番目の数字を求めなさい
問題
1から順に整数を書き並べます。
このとき、左から100番目の数字を求めなさい。
通常解説
まず、「数字」と「整数(数)」は別物だということを確認します。
たとえば 12 は1つの整数ですが、「1」と「2」という2つの数字が並んでいます。
この問題は、数字(1文字ずつ)を左から並べたときの100番目を聞いています。
STEP 1|1桁の整数が占める「文字数」を数える
← 1桁の整数:1〜9 9個 × 1文字 = 9文字
STEP 2|100番目が1桁の中にあるかを確認する
1桁の整数を書いた分は 9文字 だけです。
100番目 > 9文字 なので、100番目は1桁の中にはないとわかります。
では、2桁の整数(10, 11, 12, ……, 99)に進みます。
STEP 3|2桁の整数が占める「文字数」を確認する
← 2桁の整数:10〜99 90個 × 2文字 = 180文字
100番目 ≦ 189文字 なので、100番目は2桁の整数の中にあることが確定します。
STEP 4|2桁の整数の中の何文字目かを出す
2桁の整数は9文字目が終わったところから始まります。
つまり、2桁の中での位置 = 100 − 9 = 91文字目です。
STEP 5|91文字目が何という整数の何桁目かを出す
2桁の整数は1つにつき2文字なので、91 ÷ 2 を計算します。
・あまりが出た → 「45番目の整数」の途中にある
・あまり1 → その整数の 1文字目(十の位)
STEP 6|「2桁の45番目の整数」を求める
2桁の整数は 10 から始まります。
45番目の2桁の整数は:
10→1番目、11→2番目、……、54→45番目、と数えると、
10 +(45 − 1)= 54 になります。
STEP 7|54の「1文字目」を読む
あまり1 なので、54の 1文字目(十の位) が答えです。
54の十の位は 「5」。
確認|数字列を書き出して検証する
1 2 3 4 5 6 7 8 9 ← 1〜9文字目
2桁(1文字目から)
1 0 1 1 1 2 … 5 3 ← 10〜99文字目
5 4 ← 100文字目(赤)・101文字目
9(1桁) + 90文字(10〜54の手前まで)= 99文字。
ちょうど100文字目が「54」の十の位=「5」で一致します。✓
初見での考え方
実況形式 開成受験生が本番でどう頭を動かすべきかを説明します。
10以上は2文字、100以上は3文字占める。
これが「ただの数え上げ」を難しくしているポイント。
だから「桁のグループ」に分けて考えるのが鉄則。
100番目がどのグループに入るかを絞り込む。
・2桁グループ終わり → 9 + 180 = 189文字
100は9と189の間 → 2桁の中にあると即座に絞れる。
これを「2文字ごとのまとまり」で割る。
91 ÷ 2 = 45 あまり 1
あまり1 → その整数の1文字目(十の位)
あまり2 → (3桁の場合)百の位 …と続く。
今回はあまり1なので、45番目の2桁整数「54」の十の位 =「5」。
なぜその方針を選ぶのか
「桁グループ」で分けるのはなぜか
もし「1から順に全部書き出せばいいじゃないか」と思ったとしたら、
それは途中で絶対に迷子になる方法です。
1文字ずつ数えると、100文字目まで書くだけで時間が消える。
開成レベルでは、「規則性をグループでつかんで計算で跳ぶ」が正解。
「引き算でグループ内の位置に変換する」のはなぜか
大きな問題では「全体から前のグループを引いて、注目グループ内の番号に変換する」というステップが
必ず出てきます。
これは「ページ数で場所を探す」感覚と同じ。
「100ページのうち第3章は81ページ目から」とわかれば、100ページ目は第3章の20ページ目と計算する、
あの発想です。
割り算の「あまり」に注目するのはなぜか
2桁の整数はすべて2文字ずつのまとまりです。
91文字目 ÷ 2 = 45 あまり1 というのは、
「45個分のまとまりが終わって、さらに1文字進んだ場所」という意味。
つまり46番目の整数の1文字目ではなく、
45番目の整数の最後から数えて1文字目=「十の位」です。
あまりが出たら「1つ前の整数の途中」と読むのが鉄則。
「10 + 45 − 1」という式になる理由
10が1番目・11が2番目・……・(10+n−1)がn番目、という対応になっているからです。
「最初の数 +(何番目か − 1)」 は数え上げの基本公式です。
この −1 を忘れると1つずれるので注意。
典型ミス
「100番目の整数は?」と読んでしまい、100番目の整数(数)を答えてしまう。
1〜10で10個と数えてしまい、1文字ずれる。
91 ÷ 2 = 45 あまり1 のとき、「46番目の整数の1文字目」と勘違いする。
54ではなく55と答えてしまう。
54の「4」(一の位)を答えてしまう。
別解
別解|表にして確認する方法(丁寧解法)
| グループ | 整数の範囲 | 個数 | 1つあたりの文字数 | 文字数の小計 | 累計文字数 |
|---|---|---|---|---|---|
| 1桁 | 1〜9 | 9個 | 1文字 | 9文字 | 9文字 |
| 2桁 | 10〜99 | 90個 | 2文字 | 180文字 | 189文字 |
| → 100番目は「2桁グループ」の中(9 < 100 ≦ 189) | |||||
表を作ることで「どのグループか」が一目でわかります。
本番でも簡単な表を書くと、グループの見落としがなくなります。
別解の計算(表なし・高速バージョン)
② 91 ÷ 2 = 45 あまり 1
③ 2桁の45番目の整数 = 10 + 44 = 54
④ あまり1 → 54の十の位 = 5
本番おすすめ
「表を書く方法」は見落としが減り、部分点も取りやすいので本番向き。
速い解法
「高速バージョン」は慣れれば30秒以内に解けます。
ミスしにくい
どちらでも最後に「小さい例で検証(例:10文字目=1の一の位=0か?)」すると安心です。
開成で差がつくポイント
「桁数によって文字数が変わる」ことに即座に気づき、グループに分けて考える構造化力。
計算力ではなく、問題を「整理可能な構造」に変換するセンスが問われています。
合格者 グループ分け → 累計計算 → 残り文字 → 割り算 → あまりの解釈、という一本道の手順を迷わず踏む。
不合格者 書き出しに頼ろうとして時間切れ、または「あまりの解釈」で迷って止まる。
頭の中またはメモに「1桁:9文字/2桁:189文字」というグループ累計表を即座に作る。
割り算は「÷(桁数)」と自動的に判断し、あまりを「どの文字か」に結びつける処理が反射的にできる。
①「数字と整数の区別」に気づかない
②「グループ累計」という発想に至らず1文字ずつ書き出す
③ あまりの解釈で手が止まり、最後まで記述できない
開成の問題は「手続きの自動化」より「構造の把握」を重視します。
この問題は見た目はシンプルですが、「グループに分ける」「累計で位置を絞る」「あまりで細部を読む」という3段階の論理処理を正確かつ素早くできるかを試しています。
式を書くだけでなく、「なぜこの計算をするのか」を一言添えるクセが開成の記述では高評価につながります。
この問題から学ぶべきこと
この問題の本質
「数字を並べた列のN番目を求める」問題の本質は、「グループ(桁)ごとに文字数をまとめ、累計でNがどこに落ちるかを絞り込む」という構造にあります。 計算量は少なく、整理力と構造把握がすべての問題です。
他の問題への応用
・ページ数の問題(本の何ページ目は何文字目か)
・周期の問題(規則的なパターンのN番目を求める)
・日付・曜日の問題(N日後は何曜日か)
これらすべてに「グループで累計を出して、残りを割る」という同じ思考が使えます。
今後どう活かすか
① 「書き出しに逃げない」 → 必ず規則性を見つけてから計算で飛ぶ
② 「あまりの意味を瞬時に読む」 → 割り算のあまりが「どの位置か」を決めると覚える
③ 「小さい例で最後に検証する」 → 10文字目・11文字目が何かを確認して式が合っているか確かめる
この3つのクセをつけるだけで、類題のスピードと正確さが大きく上がります。
コメント