目的
このアイデアは、32ビット整数を最大9文字の発音可能な単語との間でマッピングするために必要なコードを提供することです。たとえば、シリアル番号を覚えやすくしたり、フォームに入力したりするのに役立ちます。
整数を対応する単語に変換する方法と、単語を対応する整数に変換する方法の両方が必要です。
ルール
整数と単語の間には1対1のマッピングが必要であり、32ビット整数のセット全体(つまり、0〜4294967295の整数)はマップ可能である必要があります。もちろん、すべての単語が意味を持つわけではありませんが、整数にマッピングされない単語を入力すると、動作が特定されない場合があります。
どの「発音可能な」単語のセットが意味を持ち、マッピングがどのように行われるかを正確に自由に決定できますが、単語は少なくとも次の規則に従う必要があります。
- 文字として使用できるのは、基本的な26文字(A ... Z)のみです。アクセント、大文字小文字などは、可能な組み合わせを拡張するために使用すべきではありません。
- 単語あたり最大9文字。
- 2つの子音(BCDFGHJKLMNPQRSTVWXZ-20の可能性)を隣同士に配置しないでください(それらは母音で囲まれている必要があります)。
- 2つの母音(AEIOUY-6の可能性)を隣同士に配置しないでください(子音で囲む必要があります)。
注:すべての単語をCVCVCVCVC
(C
子音およびV
母音として)構成する最も単純なスキームでは、4147200000の組み合わせが得られ、32ビット整数には4294967296の可能な値があるため、十分ではありません。短い単語を許可するか、組み合わせも許可することによって、組み合わせの数を増やす必要がありVCVCVCVCV
ます。
他の標準ルールが適用され、標準の抜け穴は禁止されています。
入力/出力
送信ごとに、2つのコードを提供する必要があります。
- 引数/入力として整数を取り、対応する単語を返す/出力するもの
- 引数/入力として単語を取り、対応する整数を返す/出力するもの
または、両方の操作を処理する単一のコードを送信することもできます。
- 入力として整数を指定すると、対応する単語を出力します
- 文字列を入力として与えると、対応する整数を出力します
当選条件
これはcode-golfで、バイト数が最も少ない(両方のコードを合計した場合、分離されたコードを選択するソリューションの場合)の方が勝ちます。