Я не уверен, как задать свой вопрос лаконично, поэтому я начну с примеров и расширяюсь оттуда. Я работаю с 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
Это можно легко решить, используя три петли или петли. Мой вопрос: как я могу решить эту проблему, если количество массивов неизвестно и длина каждого массива неизвестна?
Итак, в качестве примера с 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 = [...]
Есть ли способ структурировать функцию, которая будет генерировать неизвестное число циклов и прокручивать длину каждого массива для генерации перестановок? Или, может быть, есть лучший способ подумать о проблеме?
Спасибо всем!