Получить числа не прибегая к размножению строк
Есть огромный кусок кода подсчёта различных комбинаций 4-значного числа,рабочий фрагмент.
myArr[0] = a * 1000 + b * 100 + c * 10 + d;
myArr[1] = a * 1000 + b * 100 + d * 10 + c;
myArr[2] = a * 1000 + c * 100 + b * 10 + d;
myArr[3] = a * 1000 + c * 100 + d * 10 + b;
myArr[4] = a * 1000 + d * 100 + b * 10 + c;
myArr[5] = a * 1000 + d * 100 + c * 10 + b;
myArr[6] = b * 1000 + a * 100 + c * 10 + d;
myArr[7] = b * 1000 + a * 100 + d * 10 + c;
myArr[8] = b * 1000 + c * 100 + a * 10 + d;
myArr[9] = b * 1000 + c * 100 + d * 10 + a;
myArr[10] = b * 1000 + d * 100 + a * 10 + c;
myArr[11] = b * 1000 + d * 100 + c * 10 + a;
myArr[12] = c * 1000 + a * 100 + b * 10 + d;
myArr[13] = c * 1000 + a * 100 + d * 10 + b;
myArr[14] = c * 1000 + b * 100 + a * 10 + d;
myArr[15] = c * 1000 + b * 100 + d * 10 + a;
myArr[16] = c * 1000 + d * 100 + b * 10 + a;
myArr[17] = c * 1000 + d * 100 + a * 10 + b;
myArr[18] = d * 1000 + a * 100 + c * 10 + b;
myArr[19] = d * 1000 + a * 100 + b * 10 + c;
myArr[20] = d * 1000 + b * 100 + c * 10 + a;
myArr[21] = d * 1000 + b * 100 + a * 10 + c;
myArr[22] = d * 1000 + c * 100 + b * 10 + a;
myArr[23] = d * 1000 + c * 100 + a * 10 + b;
А можно ли это как-то в цикле обработать под вспомогательным массивом? Например
int[] myArr1 = new int[24]; //Массив куда записываются комбинации 4-значного числа
int[] myArrInt = new int[4]; //Массив,где хранятся полученные,в результате разбиения исходного 4-значного числа отдельные числа
myArrInt[0] = geta(a);
myArrInt[1] = getb(b);
myArrInt[2] = getc(c);
myArrInt[3] = getd(d);
for (int i = 1; i <myArr1.Length; i++) //Основной цикл для записи в массив комбинаций 4-значного числа
{
for (int j = 1; j < myArrInt.Length; j++)
{
myArr1[i] = myArrInt[0]*1000 + myArrInt[1]*100 + myArrInt[2]*10 + myArrInt[3]; //Во 2-ом цикле хочу сдвигать элементы массива и поочерёдно их складывать
}
}
То есть как можно вместо нескольких строк всё вместить в один цикл по массиву?Как-то j+1 или на каждый подсчёт делать цикл. Код прошу не писать,просто подсказать алгоритм или объяснить можно или нельзя..
Источник: Stack Overflow на русском