web-dev-qa-db-ja.com

ハードウェアコードを総当たりする最も速い方法は何ですか

私が住んでいるところには、0から9までの数字と2つの文字AとBのキーパッドがあります。 Example of keypad like mine

それを使用して、コードが最後に入力された5つの項目でチェックされていることに気付きました。キーパッドのすべてのコードを試してみると、単純な答えは00000,00001,00002から開始することです... BBBBB。

しかし、それはその過程で時間が浪費されたことを意味します。キーパッドで123456789と入力する人を考えてみましょう。

この場合、ドアが開かない場合、次のコードが無効であることがわかります。

  • 12345
  • 23456
  • 34567
  • 45678
  • 56789

私が探しているのは、キーを押す回数が少ないパスを見つけるアルゴリズム、または少なくともその名前です。

どの数字がダーティかを調べるように、コードを推測する「賢い方法」を探していません。

3
WayToDoor

これは De Bruijnシーケンス と呼ばれます。その中にすべてのパターンを含むパターン。

5
Sjoerd