【2025情報Ⅰ】第1問-問3 徹底解説 

問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

したがって、[キ]に入る数字はです。

正解:③連続する二つの桁の数字の順序を逆にする

これは、「生成方法Aでは検出できないが、生成方法Bでは検出できることがある」2桁の入力ミスはどれか、という問題です。

この種のエラーで最も代表的なのが「隣接する2つの数字の入れ替わり(転置誤差)」です。

生成方法A(単純な和)の場合
隣り合う数字abを入れ替えても、合計は 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の倍数にならない限り、エラーとして検出できます。(例えば、abの差が5の場合など)

この条件に最も合致するのは、選択肢③「連続する二つの桁の数字の順序を逆にする」です。

⓪奇数桁の数字を二つ間違える
もし、この間違いが原因で生成方法Aが検出に失敗するケースを考えてみましょう。
それは、間違いによる数字の変化の合計が10の倍数になった場合です。(例:一方の数字が2増え、もう一方が2減るなど)

生成方法Aでの変化(a´- a) + (b´- b) = 10 × kkは整数)
この場合、合計の変化がないので検出できません。

生成方法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倍されます。そのため、入れ替えても計算結果は変わりません。

両方の方法で検出できないため、条件に合いません。

この記事で掲載・解説している問題の著作権は、独立行政法人大学入試センターに帰属します。

コメント

タイトルとURLをコピーしました