モジュール詳細:バーコード暗号
私たちは買い物に行っていることに気が付かなかった。
- 3つのバーコード、ディスプレーに表示された6桁の数字、及び0から9までの数字が循環する入力ディスプレーが表示される。
- モジュールを解除するには、各バーコードに番号を入力する必要がある。
- バーコードの番号を入力すると、両方のディスプレーに表示される情報が非表示になる。
- ミスが記録されると、再び表示されるようになる。
- 各バーコードはエッジワークを表している(表1を参照)。
- 各バーコードが参照するエッジワークの総数を特定する(シリアルナンバーの場合、英字をアルファベット上の位置の数字に変換し、英数字全てを合計する)。
- 各バーコードの番号を特定するには、まず表示された6桁の数字を3つの2桁の数字に分割する。
- 最初の2桁の数字と(最初のバーコードの参照値×6桁の合計)をそれぞれ2進数に変換し、XORで出力した結果を求める。次の2桁についても同様の処理を行う。
- 各値を(シリアルナンバーの最後の数字%5+5)で割り余りを求める。%は剰余を求める演算子である。
- 計算結果を入力し、該当するバーコードを押して値を入力する。
表1
エッジワーク | バーコード |
---|---|
シリアルナンバー | ![]() |
バッテリー | ![]() |
バッテリーホルダー | ![]() |
ポート | ![]() |
ポートプレート | ![]() |
点灯したインジケーター | ![]() |
点灯していないインジケーター | ![]() |
インジケーター | ![]() |