問3 次の文章を読み、空欄[キ]に当てはまる数字をマークせよ。また、空欄[ク]に入れるのに最も適当なものを、後の解答群のうちから一つ選べ。
チェックディジットは、書籍のISBNコードなどで数字の入力ミスを検出するためなどに利用されている。ここでは、5桁の数字(N₅N₄N₃N₂N₁)の利用者IDに、チェックディジット1桁(C)を加えた6桁の識別番号(N₅N₄N₃N₂N₁C)を考える。チェックディジットの生成方法として、次の2種類を考える。
【生成方法A】利用者IDの各桁の値を足し合わせ、10で割ったあまりRを求め、10からRを引いた値をチェックディジットとする。
【生成方法B】利用者IDの各奇数桁(N₅, N₃, N₁)の値尾をそれぞれ3倍にした値と、各偶数桁(N₄, N₂)の値を足し合わせ、10で割ったあまりRを求め、10からRを引いた値をチェックディジットとする。
なお、いずれの生成方法も、Rが0の場合は、チェックディジットを0とする。
例えば,ある利用者IDが「22609」の場合にチェックディジットを計算すると、生成方法Aでは「1」になり、生成方法Bでは[キ]となる。
これらのチェックディジットでは、1桁の入力ミスは検出できても、2桁の入力ミスは、検出できないことがある。生成方法Bはこの点について多少検出できるように工夫されている。例えば、[ク]入力ミスをした場合は、生成方法Aでは検出できることはないが、生成方法Bでは検出できることがある。
[ク]の解答群
⓪奇数桁の数字を二つ間違える
①連続する二つの桁の数字をそれぞれ間違える
②奇数桁のうちの二つの桁の数字の順序を逆にする
③連続する二つの桁の数字の順序を逆にする
正解:7
これは、利用者ID「22609」に対して【生成方法B】を使ってチェックディジットを計算する問題です。
①奇数桁(N₅, N₃, N₁)の値をそれぞれ3倍して足し合わせましょう。
- N₅ = 2 → 2×3= 6
- N₃ = 6 → 6×3= 18
- N₁ = 9 → 9×3= 27
合計:6 + 18 + 27 = 51
②偶数桁(N₄, N₂)の値を足し合わせます。
- N₄ = 2
- N₂ = 0
合計:2 + 0 = 2
③それぞれ求めた合計を足し合わせます。
51 + 2 = 53
④合計を10で割った余りRを求めます。
53 ÷ 10 = 5あまり3
R = 3
⑤0からRを引いた値をチェックディジットとします。
10 – 3 = 7
したがって、[キ]に入る数字は7です。
正解:③連続する二つの桁の数字の順序を逆にする
これは、「生成方法Aでは検出できないが、生成方法Bでは検出できることがある」2桁の入力ミスはどれか、という問題です。
この種のエラーで最も代表的なのが「隣接する2つの数字の入れ替わり(転置誤差)」です。
生成方法A(単純な和)の場合
隣り合う数字aとbを入れ替えても、合計は a + b から b + a になるだけで、和は変わりません。そのため、この方法では隣接する数字の入れ替わりは絶対に検出できません。
生成方法B(重み付きの和)の場合
例えば、奇数桁のaと偶数桁のbを入れ替えたとします。
元の計算(一部):3 × a + 1 × b
間違った計算(一部):3 × b + 1 × a
この差は
(3b + a) – (3a + b)
= 2b – 2a
= 2(b – a)
となります。
この差が10の倍数にならない限り、エラーとして検出できます。(例えば、aとbの差が5の場合など)
この条件に最も合致するのは、選択肢③「連続する二つの桁の数字の順序を逆にする」です。
⓪奇数桁の数字を二つ間違える
もし、この間違いが原因で生成方法Aが検出に失敗するケースを考えてみましょう。
それは、間違いによる数字の変化の合計が10の倍数になった場合です。(例:一方の数字が2増え、もう一方が2減るなど)
生成方法Aでの変化:(a´- a) + (b´- b) = 10 × k(kは整数)
この場合、合計の変化がないので検出できません。
生成方法Bでの変化:奇数桁はどちらも3倍されるので、変化は3(a´- a) + 3(b´- b) となります。これは、((a´- a) + (b´- b)) となり、3 × (10 – k) となります。
この値も必ず10の倍数になってしまいます。
つまり、このタイプの間違いを生成方法Aが見逃す場合、生成方法Bも必ず見逃してしまいます。したがって、条件に合いません。
①連続する二つの桁の数字をそれぞれ間違える
これは間違いとは言えませんが、③よりも不適切です。 この選択肢は非常に範囲が広いです。「数字を間違える」というだけでは、どんな間違い方なのかが特定できません。
例えば、「12」を「31」と間違えたとします。
元の数字の和:1 + 2 = 3
間違った数字の和:3 + 1 = 4
この場合、和が変わるので生成方法Aでも検出できてしまいます。
この選択肢には、正解である③「順序を逆にする」という特殊なケースが含まれています。問題では「最も適当なもの」を選ぶ必要があるため、このエラーの典型例であり、生成方法Aが絶対に検出できないパターンを具体的に示している③の方が、より優れた解答となります。
②奇数桁のうちの二つの桁の数字の順序を逆にする
これは不適切です。 例えば、N₅とN₃の数字を入れ替えたとします。
生成方法A:足し算なので、数字の順番が変わっても合計は変わりません。よって、検出できません。
生成方法B:奇数桁の数字は、どちらも同じように3倍されます。そのため、入れ替えても計算結果は変わりません。
両方の方法で検出できないため、条件に合いません。
この記事で掲載・解説している問題の著作権は、独立行政法人大学入試センターに帰属します。

コメント