📚

「最難関問題:中学受験算数」のまとめ

2025/01/06に公開

参考サイトのリンク

https://www.jukensansuu.org/sainankanmondai

はじめに

この記事の概要

大まかな内容

本記事では、「最難関」とされる中学受験算数の中から、場合の数・論理に関する問題を4問取り上げ、解答を丁寧に解説します。これらは、特に思考力・論理力が問われるタイプの問題であり、単なる計算力では太刀打ちできない難問ぞろいです。

背景

筆者自身、アルゴリズムやその背後にある数学の学び直しを進める中で、より実践的かつ直感的な訓練素材として中学受験の算数問題に着目しました。特に、場合の数や論理パズルは、アルゴリズム的思考との親和性が高く、将来的には問題の一般化・抽象化を通して、アルゴリズム設計への転用可能性を探る意図があります。

役立つ人

  • 算数を学び直したい大人の中でも、単なる基礎にとどまらず、思考力・論理力が問われる問題に挑戦したい方
  • 中学受験の最難関校を目指す小学生、あるいはそのサポートをする保護者・指導者
  • そして何より、本記事をきっかけに元サイトの良質な問題群にアクセスしたい方への「掛け橋」として、初めの一歩を求めている方

場合の数・論理

出会う回数

同じ速度で歩く人が複数人おり、それぞれが東か西どちらかに進む
衝突したら逆方向に進むときに人数ごとの衝突回数の最大数を求める

  1. 図で理解する場合には人間を縦棒に見立てて下部に矢印を追加して順を追いながら、各人ごとの重複を含む衝突回数を上部に記載する
  2. 3人の最大数から見ていき、4人、5人、6人と拡張する中で平方数の法則を見出だす
    *4人の最大数は3人の最大数に1人加えて移動を加味したもの
  3. 外方向の人数が多い側に人数を加えるときに最大数となるので、人数が偶数で(2×n)人のとき最大数は(n×n)回となり、奇数のときは(n×(n+1))回なので最大数から人数を逆算することも可能である
    *文字式でnを割り当てるのは中学数学からなので、算数知識で解く場合にはxに置き換える

折り重ねの回数

横長の紙に折り目がついており折り方によって左右に分け、かつ右の折り目の数が左の折り目の数以上の状態をつくる
左右編成が3つ、4つと増えてもよいとき折り目の数による違いを求める

  • 以下のような折り方は禁止する
    • 間に紙を挟み込む
    • 空洞ができる
    • 底から下に折る
  • 折り方を調べる手順
  1. 樹形図を用いて条件を満たす折り方を調べる
    *左の数以上の条件下であれば右の数を等分にした組み合わせも追加できる
  2. [左<右の形にならないもの,まったく折らないもの,すべて折ったもの]を除外する
  3. 折り方を順番に検証していくなかで[奇数,偶数,より大きい数]の場合に折ることができないと分かる
  • 条件を満たす表し方が何通りか調べる場合には①〜③を活用する

点と直線の最長距離

円を等分するような正多角形の頂点を結ぶ直線の最長距離を求める
ここで言う最長経路とは最短経路を含めた言い回しであるため
答えとして求めるのは最短経路であり直線を引くときには最長経路で見る必要がある

  • 以下の条件に従い円周を等分する点を線で結ぶ
    • どの点から出発しても、直線を通ってすべての点に行けるようにする
      *左下出発で右下終点を想定する
    • ひとつの点から他の点への経路で往復はできないものとする
    • 最長経路ができるだけ大きくなるように直線を引く
  • 直線の本数と最長距離の関係性の調べ方
  1. 等分数の少ない場合から順に調べていく
  2. 直線の本数と最長距離が同じになる場合から順に最長距離を減らすような直線の増やし方で調べていく
    *上記の場合とは直線の本数が等分数より1少ない場合で初期本数と呼ぶこととする
  3. 同じ最長距離で何通りあるかは、①で順に調べた結果から[初期本数から最長距離を引き算して1を足し算]して求まる形になっている
  4. ある最長距離での最多直線本数を求めるには、直線の本数の増え方が1から最長距離までの自然数の数列なので[初期本数に自然数の和を足し算して1を引き算]する
    *初項は使わないから1を引き算する
    !数列は高校数学の履修範囲であるが仕組み自体は小学生でも理解可能である
  5. ある最長距離での最少直線本数を求めるには、[最多直線本数から③を引き算して1を足し算]する
    *③を引き算すると、ひとつ前の最長距離の最多直線本数が求まるので、直線を1本だけ足し算することで上記の最少直線本数を求めることができる
  6. 同じ手順で初期本数すなわち等分数を増やしていくと、ある最長距離における最多直線本数が与えられているときの等分数を求めることができる
    *計算途中の過程を④同様に自然数の和を足し算する形にすれば、初期本数の増加によって最多直線本数が何本増加したかを求めることができるから

重複回文数

  • 111や12321のように右から見ても左から見ても数字の並びが同じ整数を回文数と呼ぶ
  • 000や02320のような0から始まる回文数を回文列と呼ぶ
  • 左から回文数と回文列を重ねた整数を重複回文数と呼ぶ

*[回文数+回文数]は成立するが[回文列+回文数]は不成立とする
*同じ回文数を同じ開始位置で2個重ねることも可能とする
*必ず1個以上の数字が重なっていることが条件となる

問1. [4桁以下]の重複回文数の個数
4桁以下の重複回文数の個数は[2桁,3桁,4桁]の回文数に分解して解くと、以下のようになり合計は432個である

  • 2桁なら11〜99までの9個
  • 3桁なら1◯1〜9◯9までの90個
  • 4桁なら同位置重ねで1◯◯1〜9◯◯9の90個
  • [3桁+3桁]なら1◯1◯〜9◯9◯で4桁と被る分を省いて81個
  • [3桁+2桁]なら1◯11〜9◯99で4桁と被る分を省いて81個
  • [2桁+3桁]なら11◯1〜99◯9で4桁と被る分を省いて81個

問2. [5桁]の重複回文数の個数
5桁の重複回文数を求めると、以下のようになり合計は2034個である

  • 重複回文数の並び方が違うため②までで求めた個数は活用せずに求める必要がある
  • 5桁なら同位置重ねで1◯△◯1〜9◯△◯9の900個
  • [4桁+3桁]なら1◯◯1◯〜9◯◯9◯で5桁と被る分を省いて81個
  • [4桁+2桁]なら1◯◯11〜9◯◯99で5桁と被る分を省いて81個
  • [3桁+3桁]なら
    1. 1◯111〜9◯999で5桁と被る分を省いて81個
    2. 111◯1〜999◯9で5桁と被る分を省いて81個
    3. 1◯1△1〜9◯9△9で5桁と被る分を省いて(81×8)個
      *重なりを除いた部分において変化可能な場合は、9×9×8=81×8となる
      ↑△が先頭の数と同じなら①と被り、◯と同じなら5桁同位置重ねと被るから
  • [2桁+4桁]なら11◯◯1〜99◯◯9で5桁と被る分を省いて81個
  • [3桁+4桁]なら1◯11◯〜9◯99◯で5桁と被る分を省いて81個

問3. [1000番目]の重複回文数は34943である

  1. [4桁以下]の重複回文数は432個なので、求めたい答えは5桁の568番目である
  2. [5桁]の重複回文数は2034個なので、万の位を決めると226個であると分かる
  3. したがって、568-226×2=116となり、万の位が3のときの116番目であると分かる
  4. 万の位が3で千の位が0のときの重複回文数は22個である
    • 5桁なら同位置重ねで30△03の10個
    • [4桁+3桁]なら30030
    • [4桁+2桁]なら30033
    • [3桁+3桁]なら
        1. [30333]
        1. [303△3の8個←10-1-1=8]
          ↑△が3なら①と被り、0なら5桁同位置重ねと被るから
    • [3桁+4桁]なら30330
  1. 万の位が3のとき千の位が3の場合を除いて重複回文数は④と同じなので22×9=198である
  2. 万の位が3で千の位が3のときの重複回文数は28個である
    • 5桁なら同位置重ねで33△33の10個
    • [3桁+3桁]なら333△3の9個←10-1=9*△が3なら5桁同位置重ねと被るから
    • [2桁+4桁]なら33△△3の9個←10-1=9*△が3なら5桁同位置重ねと被るから
  1. 万の位が3のとき重複回文数は、千の位が0〜2までで66個、3で28個、4で22個で合計が116個となり③と一致するので、千の位が4のときの最後の重複回文数であると分かる
  2. 万の位が3で千の位が4のとき百の位を9とすると、重複回文数は5桁同位置重ねの34943の形だけ
アルゴリズム×数学の学び直し

Discussion