CDについているシリアルコードで、ライブのチケットに応募することがしばしばある。いくつかコードを打ち込むうち、魔が差してこんなことを考えてしまう。「適当に打ち込んだら通ったりしないかな……」と。 応募券のイメージ 本当に通ったら一大事なので、このような仕組みを設計する段階でどうにかして防いでいる訳だが、どのようにやっているのだろう。その防止策の1つに「チェックディジット」というものがある。 まず、完全にランダムな文字列にすると困る あなたがライブを主催することになり、0~9の数字からなる16桁のシリアルコードで抽選を行うとしよう。あなたならどのようにコードを作るだろうか? 単純に考えれば、16個の枠それぞれに0~9の数字を1つずつランダムに選べばいい(つまり、0~9の乱数を16個並べればいい)のだが、完全にランダムだと不都合が多い。例えば、ランダムだと限りなく似ているコードが生成される可能
![応募券のシリアルコードには「適当に入力して当選」を避ける仕組みがある](https://cdn-ak-scissors.b.st-hatena.com/image/square/020efd3bf2d97195c8ffd48981aec09c1d0b4a62/height=288;version=1;width=512/https%3A%2F%2Fimage.itmedia.co.jp%2Fnl%2Farticles%2F1904%2F20%2Fl_qk_code01.jpg)