Я не уверен, как задать свой вопрос лаконично, поэтому я начну с примеров и продолжу оттуда. Я работаю с VBA, но я думаю, что эта проблема не зависит от языка и потребует только умного подхода, который может обеспечить структуру псевдокода. Заранее спасибо за помощь!
Пример:
У меня есть 3 массива символов, такие как:
Arr_1 = [X,Y,Z]
Arr_2 = [A,B]
Arr_3 = [1,2,3,4]
Я хотел бы сгенерировать ВСЕ возможные перестановки массивов символов следующим образом:
XA1
XA2
XA3
XA4
XB1
XB2
XB3
XB4
YA1
YA2
.
.
.
ZB3
ZB4
Эту проблему легко решить, используя 3 цикла while или for loop. Мой вопрос: как мне решить эту проблему, если число массивов неизвестно и длина каждого массива неизвестна?
Так, например, с 4 символьными массивами:
Arr_1 = [X,Y,Z]
Arr_2 = [A,B]
Arr_3 = [1,2,3,4]
Arr_4 = [a,b]
Мне нужно сгенерировать:
XA1a
XA1b
XA2a
XA2b
XA3a
XA3b
XA4a
XA4b
.
.
.
ZB4a
ZB4b
Таким образом, обобщенный пример будет:
Arr_1 = [...]
Arr_2 = [...]
Arr_3 = [...]
.
.
.
Arr_x = [...]
Есть ли способ структурировать функцию, которая будет генерировать неизвестное число циклов и проходить по длине каждого массива для генерации перестановок? Или, может быть, есть лучший способ думать о проблеме?
Спасибо всем!