0

長さ10文字の単語のリストを作成しています.. 78文字の文字の組み合わせ(az、AZ、0-9、および特殊文字)を使用しています。この条件で作れそうな言葉を一つ一つ生成していきたいです。私はPHPでこれをやっています..どのくらいの単語が得られるか知りたいですか?

for($i=0;$i<=608400;$i++) {
                    $special_char=array("'","/","@,","#","$","%","(",")",",","?","[","]","+","=","!","*");
                    $original_string = array_merge(range(0,9), range('a','z'), range('A', 'Z'),$special_char);
                    $original_string = implode("", $original_string);
                   $char[]=substr(str_shuffle($original_string), 0, $length);
                }

例: 文字の長さは 2 で、文字の組み合わせは "a" と "b" です。私は「ab」と「ba」という単語を取得します。したがって、合計数は 2 です。

4

2 に答える 2

1

4566176969818464000

このサイトから: http://www.mathsisfun.com/combinatorics/combinations-permutations-calculator.html

選べるタイプは?78

選ばれた数?10

順番は重要ですか?はい

繰り返しは許されますか?いいえ

短い答え: 4.56617696e+18

完全な回答: 4566176969818464000

于 2013-11-07T15:11:33.240 に答える
0

同じ文字が許可されているかどうかは、質問の元の形式からは少しわかりません(説明では許可されていることが示唆されていますが、例では許可されていないことが示唆されています)。

それらが許可されている場合、78 の任意の文字を単語の最初の文字にすることができます。2 番目の文字は、最初の文字とは別に、合計 78 文字のアルファベットから再度選択できます。78 の可能性があります。などなど、各文字で 78 の可能性があり、個別に選択できるため、これらを単純に乗算して、78^10 の最終的な答えを得ることができます。

繰り返しが許されない場合、答えは少し異なります。それでも、78 文字の任意の文字を単語の最初の文字として選択できます。しかし、どの文字を選択しても、最初の文字を繰り返すことができないため、可能な 2 番目の文字は 77 しかありません。3 番目のものは、前の 2 つのいずれにも一致しないはずであり、76 の可能性が残されています。したがって、この場合の答えは 78*77*76*75*74*73*72*71*70*69=78!/(78-10)! です。

于 2013-11-07T19:49:15.160 に答える