0

これは、各ビンの識別ショートコードを生成する jsbin の関数です。

function shortcode() {
    var vowels = 'aeiou',
        consonants = 'bcdfghjklmnpqrstvwxyz',
        word = '', length = 6, index = 0, set;

    for (; index < length; index += 1) {
        set = (index % 2 === 0) ? vowels : consonants;
        word += set[Math.floor(Math.random() * set.length)];
    }

    return word;
}

それはいくつの異なる組み合わせを生み出すことができますか? よく計算すると、26 文字 (az) のセットから 6 文字を使用すると、3.08915776e+8 通りの組み合わせがあります。しかし、「ecamit」、「izafij」、「erowih」、「avimog」などの記憶可能なショートコードを生成するために、5 (母音) のセットと 21 (子音) のセットが交互にあるため、これはどのように計算されるのでしょうか...

それは (5x21)^3 = 121,550,625 でしょうか?

4

1 に答える 1

1

ショートコード メソッドは最近更新されました。これは、重複を頻繁にヒットし続けたためです。実際に表示されるコードのバージョンでは、末尾に番号が追加されて、それらが一意になるように強制されています。

このコードだけに基づいたバリエーションの数 (jsbin の製品コード ベースにあるものではなく、上記のコード) は 1,157,625 (5 * 21 * 5 * 21 * 5 * 21) であると思います。これは実際にはそれほど多くありません

簡単な方法は、私の古いパスワード ジェネレーター ( http://remysharp.com/2008/04/14/pronounceablely-random/ ) から来ていますが、最近、jsbin のプロダクションで変更する必要がありました。

データベースでポジティブなヒットがあるたびに文字を追加し続けますが、文字も大文字で複製されるため、URL の組み合わせの範囲がはるかに広くなります。

于 2013-09-01T11:11:38.390 に答える