0

この比較的複雑な組み合わせと順列のコードを CLI で実行する必要があります。このコードは、コマンド ライン パラメーターとして数値を受け取り、すべての一意の組み合わせのすべての順列のリストを出力します。配列は、スペースで区切られた数値の文字列です。

N が 6 以下の場合、コードは適切に機能します。でも7.しかし、n=8を渡すと、コードは単にフリーズし、停止して先に進みません。

N が 8 になるようにするにはどうすればよいでしょうか。

N が 8 より大きくなることはありませんが、コードは 8 で実行できる必要があります。

ここにコードがあります

    for ($i=0; count($list) < $nop; $i++) {
        shuffle($array);
        $tmp = implode(' ', $array);
            if (!isset($list[$tmp])) {
                $list[$tmp] = 1;
    }}

事前にすべてのアドバイスをありがとう。

4

1 に答える 1

2
for ($i=0; count($list) < $nop; $i++) {

無限ループを引き起こします。ループのどこにもサイズ$list$nop変更がないため、count($list) < $noptrue の場合、無限ループになります。

于 2012-10-15T06:23:40.853 に答える