Pull to refresh

Comments 9

[ sarcasm ]
А почему вы записали перестановки на бумаге только до 4 символов? Вообще, считаю, что вы рано взялись за код. Надо было бы проверить все это хотя бы до штук 20. Так было бы надёжнее, а то вдруг потребуется записать в файл перестановки для 5 символов, а этот алгоритм уже не подойдёт. Да и нам читать было бы интереснее.[ /sarcasm ]
Код, который вы привели в качестве примера — это просто ад. Он абсолютно нечитаем, не отформатирован и изобилует грязными приемами. За написание такого кода в своем проекте я бы руки оторвал, а уж за использование его в качестве примера для других — и подавно.
помоему автор только начал программировать, и еще ничего о стандартах не знает… но ничего есть куда расти
Ок, explode вы уже выучили, теперь можно и конструкции
$s=''; foreach($ar as $v) { $s.='.'.$v; }
заменить на $s = implode('.', $ar);
Заодно отпадет необходимость отрезать первый символ.
Спасибо. Убрал substr, foreach заменил на implode.

P.S.
Оказывается, есть сервисы автоматического форматирования кода. = ) я не знал.

Перестановки массива A, это все варианты сочетаний(конкатенаций) каждого из элементов этого массива X с перестановками массива A`, полученного удалением из массива A элемента X. Если массив А пуст, то перестановок нет.

«Итерация свойственна человеку, рекурсия божественна.» (Л. Питер Дойч)
Но на практике можно упереться в глубину стека вызовов.
Если массив пуст, то перестановка 1,
0!=1
Математика позволяет переставлять пустоту: )
Sign up to leave a comment.

Articles