次のことを行うコードを作成しようとしています。
0 から 9 までの数字を取り、この数字に 1 つ以上の文字を割り当てます。例えば:
0 = N,
1 = L,
2 = T,
3 = D,
4 = R,
5 = V or F,
6 = B or P,
7 = Z,
8 = H or CH or J,
9 = G
0123 のようなコードがある場合、それをエンコードするのは簡単です。それは明らかにコード NLTD を構成します。5、6、8 などの数字が導入されると、状況が異なります。051 のような数値は、複数の可能性をもたらします。
NVLとNFL
これは、5、6、8 などの数桁を含む長い数字ではさらに「悪化」することは明らかです。
私は数学がかなり苦手なので、プログラムに大量の数字を入力して、可能なすべての文字の組み合わせを吐き出すことができる適切な解決策をまだ考え出すことができませんでした。わからないので、少しでも参考になれば幸いです。順列と組み合わせに関する情報を掘り起こしましたが、うまくいきませんでした。
提案/手がかりをありがとう。コードを書くために必要な言語は PHP ですが、一般的なヒントをいただければ幸いです。
アップデート:
もう少し背景: (素早い回答に感謝します!)
私の質問の背後にあるアイデアは、人々が覚えたい数字をはるかに覚えやすい単語に簡単に変換できるようにするスクリプトを作成することです。これは、「疑似数秘術」と呼ばれることもあります。
可能なすべての組み合わせをスクリプトから取得し、それを削除された単語のデータベースに対して保持するようにしたいと考えています。これらの削除された単語は、辞書から取得したもので、質問で言及したすべての文字が削除されています。そうすれば、通常、エンコードする数値を 1 つ以上のデータベース レコードに簡単に関連付けることができます。そして、それが起こると、覚えたかった数字を覚えるために使用できる単語のリストができあがります。