алгоритм вывода всех возможных вариантов

Shizya

Новичок
алгоритм вывода всех возможных вариантов

PHP:
$wordlen=4;
$chars=array("й","у","к","е","н","г","з","х","ф","в","а","п",
"р","о","л","д","с","м","и","т","б");
далее нужно echo все возможные $wordlen-значные слова, сотоящие и букв перечисленных в $chars.
на первый взгляд задача может показаться простой. но лично у меня когда дело дошло до написания алгоритма - ничего ясного в голову не пришло.
всё осложняет заранее неизвестный $wordlen, если бы он был не переменный - можно было бы for`ов друг в друга понапихать нужное кол-во раз.
а как организовать алгоритм если использовать $wordlen?
 

iceman

говнокодер
а ты напиши пример без $wordlen...

всмысле, чтобы выводился набор из 4-х букв?
 

Shizya

Новичок
Автор оригинала: kruglov
рекурсия
спасибо! вот что получилось:
PHP:
$cChars=count($chars);

function getWord($word) {
	global $wordlen, $chars, $cChars;
	if(strlen($word)<$wordlen) {
		for ($i = 0; $i < $cChars; $i++)
			getWord($word.$chars[$i]);
	} else
		echo $word."\n";
}

for ($i = 0; $i < $cChars; $i++) {
	getWord($chars[$i]);
}
 

kruglov

Новичок
Shizya
Эээ, а зачем global? Передавайте wordlen, который уменьшайте на 1 при передаче дальше вглубь
 
Сверху