Php 可以生成多少组字符

Php 可以生成多少组字符,php,math,Php,Math,我正在创建一个长度为10个字符的单词列表。。具有78个字母的字符组合(a-z、a-z、0-9和特殊字符)。 我希望生成使用此条件可以生成的每个单词。 我正在用PHP做这件事。。 想知道我能得到多少单词吗 for($i=0;$i<=608400;$i++) { $special_char=array("'","/","@,","#","$","%","(",")",",","?","[","]","+","=","!","*");

我正在创建一个长度为10个字符的单词列表。。具有78个字母的字符组合(a-z、a-z、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);
                }

对于($i=0;$i4566176969818464000

从本网站:

可从中选择的类型?78

选择的号码是10

订单重要吗?是的

允许重复吗?不允许

简短回答:4.56617696e+18


完整答案:4566176969818464000

从问题的原始形式来看,是否允许使用相同的字符有点不清楚(描述表明允许,但示例表明不允许)

如果允许的话,78中的任何一个字符都可以作为单词的第一个字符。第二个字符可以从总共78个字符的字母表中再次选择,独立于第一个字符:再次选择78个可能性。依此类推,每个字符的78个可能性,我们可以独立选择,因此这些可以简单地相乘,得到t他最终的答案是78^10


如果不允许重复,答案会略有不同。我们仍然可以选择78个字符中的任何一个作为单词的第一个字符。但无论我们选择哪个字符,第二个字符可能只有77个,因为我们不能重复第一个字符。第三个字符不应与前两个字符中的任何一个匹配,这给我们留下了76个字符可能性,等等。因此,这个问题的答案是78*77*76*75*74*73*72*71*70*69=78!/(78-10)!

78^10=8335775831236199424。这需要一段时间。这个问题似乎是离题的,因为它是关于数学/组合学的,而不是关于编程的。最好在问它。顺便问一下:“aa”和“bb”呢在您的示例中?总数为4。您的答案是错误的,因为您没有计算密码,密码长度小于78个字符。所有允许的单词长度都小于78个字符:根据要求,密码长度必须正好为10个字符!