2013年1月21日月曜日

2013年センター試験の受験番号末尾のアルファベットの求め方及びそのシステムから推測されること

  1. 試験場コードと受験番号を順に並べてできる10桁の数字をaとおきます。
    もし10桁未満だったら先頭に0をつけて10桁にしてください。
    (たとえば試験場コードが555456、受験番号の数字が0721なら a=5554560721 です。
    ちなみに555-456-0721というのは2013年センター英語P25に出てくる"Fantastic Photo Studio"の電話番号ですので誤解なきよう。)
  2. aの全ての桁(10桁)について、左からn桁目にnを掛けていき、その結果の10個の数を全て足します。
    つまり、左から1桁目には1を掛け、2桁目には2を掛け、3桁目には3を掛け、…としてできた10個の数の和を求めます。それをbとおきましょう。
    (a=5554560721なら、
    b = 5×1 + 5×2 + 5×3 + 4×4 + 5×5 + 6×6 + 0×7 + 7×8 + 2×9 + 1×10
    = 191
    です。
  3. bを11で割った余りを下の表と比較してください。
    012345678910
    ABCHKMRUXYZ
    ハイどーん!これがお求めの文字です。

解説

どうやって発見・算出したのかは解説しませんが、この仕組み自体について少々書いておきます。
このアルファベット1文字は、エラーの発見・訂正用のものです。
ISBN (Wikipedia)のチェックディジットとほとんど同一ですが、全然詳しくないですね。
たとえば上の例で、受験番号の最後から2桁目が何らかの原因で読み取れなかったとしましょう。
55545607△1K
この場合、不明な桁をスルーして通常と同様に計算していきます。
5×1 + 5×2 + 5×3 + 4×4 + 5×5 + 6×6 + 0×7 + 7×8 + (ここがわからない) 1×10
= 173 これを11で割ると、余りは8です。 最後のアルファベットのKが表す数字が4ですから、本来の余りは8ではなく4になるはずです。
nを求めたい数字とすると、「8+n×9 を11で割った余りは4」、すなわち「8+n×9-4 (つまり4+n×2) は11で割り切れる」ということがわかります。
よってnを0から9まで順番に試していくと、n=2のとき4+18=22-2×11となり、読めなかった桁が2であることがわかりました。

これ、不明な桁が2つ以上になると残念ながら使えませんが、昔のISBN(本の裏に書いてある978-4-…というやつとか)のエラーチェックとかにも使われていた有名(一部界隈では)なものですから知っておいて損は無いと思います。

補足・豆知識

センターの受験番号(数字)が会場6桁で合計10桁なのにも理由があります。
平成25年度大学入試センター試験の志願者数(確定)についてによると573344人がセンターを受験していますが、これなら本来は6桁の受験番号で済むはずですよね。
実は上で解説したエラーチェックには「桁数が素数-1でなければいけない」「エラー訂正用の符号(センターの場合は末尾のアルファベット)は桁数+1種類必要」という制限があるのです。
0 この場合だと番号11-1桁、アルファベット11種類で確かにこの制限に従っています。
(ちなみに昔の10桁のISBNではチェックディジットに0から9と、もう一種Xを使って11種類を用意していました。)
詳細は省略というか数学の好きな人ならすぐにわかると思いますが、この「素数-1桁」の制約を守らなかった場合、精度の落ちたエラーチェックはできても、1桁のエラー訂正ができなくなってしまいます。
で、センター受験番号の場合だと「7-1桁にすると、万が一受験者数が2倍になったときにシステムを大幅に変更しなければいけなくなる」とか「会場ごとにコードの一部の桁を割り当てるとちょっと照合が楽になる」とか「会場コードに多めの桁を割り振れば、受験生には残りの桁だけをマークさせることで番号のマークミスによるトラブルが減る」とか、そういう都合もあって7の次の素数、11を選んだのではないでしょうか。あくまで推測ですが。
センターの運用も大変なんですね。お疲れ様なことです(←他人事)

0 件のコメント:

コメントを投稿