OriginalGriff
На самом деле нет более эффективного - или ремонтопригодного - способа сделать это: вам все равно нужно "посетить" каждый из 216 элементов массива и установить его значение, поэтому все, что вы сделали, чтобы заставить работать один цикл, было бы менее эффективным - это потребовало бы "декодирования" значения одного цикла до трех индексов массива, а это означает либо много сравнений, либо несколько операций деления / модуля. И они не "дешевые"!
И даже если бы вы это сделали, когда приходит следующее изменение спецификации и требует массива 12 x 15 x 3 вместо 6 x 6 x 6, у вас есть действительно неприятный набор изменений для реализации, тестирования и отладки.
Вам гораздо лучше оставить его в виде вложенных циклов.