Как с помощью метода bruteforce перечислить все возможные комбинации элемента? - PullRequest
0 голосов
/ 03 февраля 2011

Как перечислить все возможные комбинации:

String (4 символа, только строчные буквы без цифр или специальных знаков), знак #, String (5 символов, то же руте, что и для первого).

Например:

dhgi # msodd

Ответы [ 2 ]

6 голосов
/ 03 февраля 2011

Предположение: английский алфавит

for($firstPart = 'aaaa'; $firstPart != 'aaaaa'; $firstPart++) {
   for($secondPart = 'aaaaa'; $secondPart != 'aaaaaa'; $secondPart++) {
      echo $firstPart,'#',$secondPart,'<br />';
   }
}

Хотя, зачем тебе это делать, я не знаю.

Это связано с вашим предыдущим вопросом ?

0 голосов
/ 03 февраля 2011

питание от рекурсии

  function bruteforce($data)
{
    $storage = array();
    tryCombination($data,'',$storage);
    return $storage;
}


function tryCombination($input,$output,&$storage)
{
    if($input == "")
    {

        if(!in_array($output,$storage))
        array_push($storage,$output);

    }else {
        for($i = 0 ; $i < strlen($input) ; $i++)
        {
            $next = $output  . $input[$i];
            $remaining = substr($input,0,$i)  . substr($input,$i + 1);
            tryCombination($remaining,$next,$storage);
        }
    }


}

$final = bruteforce('yourData');
echo count($final);
print_r($final);
...