Здравствуйте! Задача. Мне необходимо в Excel 2010 заполнить массив игральными картами, состоящий из всех возможных вариантов выбора 23 карт из 52 карточной колоды без повторений. Возможные значения: первая цифра - 13 номиналов (2, 3, 4, 5, 6, 7, 8, 9, 0, В, Д, К, Т); вторая цифра - 4 стандартных масти (П, К, Б и Ч). Знаю что массив получится из 23 столбцов и 352 870 329 957 600 строк.
К примеру на выходе должно получиться: 1 2 3 4 ... 23 00000000000000001) 3П КБ 7Ч 0П ... ДЧ. 00000000000000002) ...
................................
352 870 329 957 600) 7Б ДЧ 9П 2Ч ... ДК.
Здравствуйте! Задача. Мне необходимо в Excel 2010 заполнить массив игральными картами, состоящий из всех возможных вариантов выбора 23 карт из 52 карточной колоды без повторений. Возможные значения: первая цифра - 13 номиналов (2, 3, 4, 5, 6, 7, 8, 9, 0, В, Д, К, Т); вторая цифра - 4 стандартных масти (П, К, Б и Ч). Знаю что массив получится из 23 столбцов и 352 870 329 957 600 строк.
К примеру на выходе должно получиться: 1 2 3 4 ... 23 00000000000000001) 3П КБ 7Ч 0П ... ДЧ. 00000000000000002) ...
Знаю что массив получится из 23 столбцов и 352 870 329 957 600 строк
А ничего, что системное ограничение у самого Excel - 1.048.576 строк и 16.384 столбца? То есть общее количество ячеек на листе Excel (и это я говорю про 2007+, у более ранних - в тысячу раз меньше) - 17.179.869.184 ячеек?
В предлагаемом же Вами массиве будет содержаться в 472.000 раз больше ячеек, чем максимально может поместиться на лист Excel. Даже если предположить, что мы будем использовать абсолютно все ячейки листа без каких-либо разделитителей - потребуется файл с полностью заполненными 472.000 листов, количество которых, хвала богам Microsoft, ограничено только объемом свободной памяти...
Для интереса сейчас запустил макрос на добавление 472.000 листов и открыл Task Manager, чтобы посмотреть сколько памяти Excel будет сжирать... 2500 листов заняли 214 МБ... Соответственно, 472.000 листов займут порядка 40 ГБ оперативки... И это только на один Excel... Поэтому, как мне кажется, весьма малореально забить микроскопом подобные гвозди...
Знаю что массив получится из 23 столбцов и 352 870 329 957 600 строк
А ничего, что системное ограничение у самого Excel - 1.048.576 строк и 16.384 столбца? То есть общее количество ячеек на листе Excel (и это я говорю про 2007+, у более ранних - в тысячу раз меньше) - 17.179.869.184 ячеек?
В предлагаемом же Вами массиве будет содержаться в 472.000 раз больше ячеек, чем максимально может поместиться на лист Excel. Даже если предположить, что мы будем использовать абсолютно все ячейки листа без каких-либо разделитителей - потребуется файл с полностью заполненными 472.000 листов, количество которых, хвала богам Microsoft, ограничено только объемом свободной памяти...
Для интереса сейчас запустил макрос на добавление 472.000 листов и открыл Task Manager, чтобы посмотреть сколько памяти Excel будет сжирать... 2500 листов заняли 214 МБ... Соответственно, 472.000 листов займут порядка 40 ГБ оперативки... И это только на один Excel... Поэтому, как мне кажется, весьма малореально забить микроскопом подобные гвозди...Samaretz
т.к. все равно все сочетания 23 карт из 52 никуда не поместятся, то можно предложить другое решение: задаете случайным образом любое число от 1 до 352 870 329 957 600 или перебираете подряд все комбинации (это займет очень много времени) исходя из номера комбинации генерируем уникальную выборку карт в принципе задача решаемая
т.к. все равно все сочетания 23 карт из 52 никуда не поместятся, то можно предложить другое решение: задаете случайным образом любое число от 1 до 352 870 329 957 600 или перебираете подряд все комбинации (это займет очень много времени) исходя из номера комбинации генерируем уникальную выборку карт в принципе задача решаемаяMCH