Php 澄清Euler 24项目的措辞是什么意思?

Php 澄清Euler 24项目的措辞是什么意思?,php,permutation,Php,Permutation,明确要求: 数字0、1、2、3、4、5、6、7、8和9的第一百万个词典排列是什么 如果我的初始字符串是: $str = "0123456789"; 我将请求解释为:对$string执行1000000个排列 for( $i = 0; $i < 1000000; $i++ ) { $str = lexicographicPermute($str); } echo $str; // prints 2783915604, an incorrect answer. ($i=0;$i

明确要求:

数字0、1、2、3、4、5、6、7、8和9的第一百万个词典排列是什么

如果我的初始字符串是:

$str = "0123456789";
我将请求解释为:对$string执行1000000个排列

for( $i = 0; $i < 1000000; $i++ ) {

    $str = lexicographicPermute($str);

}

echo $str; // prints 2783915604, an incorrect answer.
($i=0;$i<1000000;$i++)的
{
$str=词典编纂排列($str);
}
echo$str;//打印2783915604,回答不正确。
但是,如果我只执行9999999置换,那么它将返回正确的答案

但我仍在试图弄明白为什么它是正确的


对这个问题的什么解释会导致您不执行1000000个排列?

您忽略了一个事实,即您的原始字符串(
$str=“0123456789”
)实际上也是一个排列,也应该计算它。)考虑一下:如果你编写了< <代码> > <代码>:

for( $i = 0; $i < 1; $i++ ) {
    $str = lexicographicPermute($str);
}
($i=0;$i<1;$i++)的
{
$str=词典编纂排列($str);
}
。。。你会有多少个排列?当然有两个:原始字符串和对其调用的
lexicographicPermute()
的结果。)


作为旁注,我不认为直接方法(字面上构建那些(百万-1)排列)是解决这个问题的正确方法。否则对人类来说就不会有这么大的问题了,不是吗?)

您忽略了一个事实,即您的原始字符串(
$str=“0123456789”
)实际上也是一个排列,也应该计算它。)考虑一下:如果你编写了< <代码> > <代码>:

for( $i = 0; $i < 1; $i++ ) {
    $str = lexicographicPermute($str);
}
($i=0;$i<1;$i++)的
{
$str=词典编纂排列($str);
}
。。。你会有多少个排列?当然有两个:原始字符串和对其调用的
lexicographicPermute()
的结果。)


作为旁注,我不认为直接方法(字面上构建那些(百万-1)排列)是解决这个问题的正确方法。否则对人类来说就不会有这么大的问题了,不是吗?)

我认为我对排列的定义有点偏离。对我来说,这听起来像是一种操作、改变或行动。实际上,如果我是对的,排列就是集合中的结果。现在,这更有意义了。谢谢。是的,
排列是对象的有序排列。(123…789)就是其中之一。我认为我对排列的定义有点偏离。对我来说,这听起来像是一种操作、改变或行动。实际上,如果我是对的,排列就是集合中的结果。现在,这更有意义了。谢谢。是的,
排列是对象的有序排列。(123…789)就是其中之一。