Генерация строк по возрастанию - C#
Формулировка задачи:
Так как в заголовке не очень конкретно выразился, то сделаю примеры того что нужно получить
а на выходе:
т.е. нужно начать генерировать список начиная с 1 символа, и после того как он переберет все элементы массива (ну символов которые мне нужно) он добавит еще один символ и начнет генерацию заново и так пока длинна не будет к примеру 16 символов
string[] arr = new string[] {"a", "b", "c"};
a
b
c
aa
ab
ac
ba
bb
bc
ca
cb
cc
aaa
aab
.... и тд
Решение задачи: «Генерация строк по возрастанию»
textual
Листинг программы
static void GetStr(string arr, string str, int n, int sz)
{
for (int k = 0; k < arr.Length; k++)
if (n < sz) GetStr(arr, str + arr[k], n + 1, sz);
else Console.WriteLine(str + arr[k]);
}
static void Main(string[] args)
{
string arr = "abc";
int n = 4;
for (int i = 1; i <= n; i++)
GetStr(arr, "", 1, i);