ProGGGer
Новичок
Hапечатать все перестановки чисел 1..N
Собственно такая вот задача, по определенному набору символов надо найти все перестановки.
как пример дано 12 результат : 12 , 21
дано 123 результат : 123 , 132, 213 , 231, 312, 321
вообщем и так далее...
я составил алгоритм перестановки символов, но работает не совсем правильно.
Для 3 дначений работает нормально. но для 4 выдает 12 комбинаций, хотя правильные 24 комбинации.
нашел в интернете пример реализиции, но непонимаю работу алгоритма.
пример реализации http://algolist.manual.ru/maths/combinat/permutations.php
Если кто делал на php отпишите какие мысли. Понимаю что при переборе из 10 символов получаеться очень долго и много комбинаций, но все будет сохраняться в файл.
Собственно такая вот задача, по определенному набору символов надо найти все перестановки.
как пример дано 12 результат : 12 , 21
дано 123 результат : 123 , 132, 213 , 231, 312, 321
вообщем и так далее...
я составил алгоритм перестановки символов, но работает не совсем правильно.
PHP:
<?php
$flag =0;
function chek($str,$numSymbol)
{
global $flag;
global $lengtchString;
while ($flag != $numSymbol )
{
for ($i=0;$i<$lengtchString-1;$i++)
{
$temp = $str[$i];
$str[$i] = $str[$i+1];
$str[$i+1] = $temp;
echo $str."<br>";
$xx++;
}
$flag++;
}
echo "<br> Всего строк $xx";
}
$str = "1234";
$lengtchString = strlen($str);
echo "длина строки $lengtchString <br><br>";
chek($str,$lengtchString);
?>
нашел в интернете пример реализиции, но непонимаю работу алгоритма.
пример реализации http://algolist.manual.ru/maths/combinat/permutations.php
Если кто делал на php отпишите какие мысли. Понимаю что при переборе из 10 символов получаеться очень долго и много комбинаций, но все будет сохраняться в файл.
