|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.05.2009, 19:30 | #1 |
Форумчанин
Регистрация: 28.04.2009
Сообщений: 186
|
Новый конкурс им. Парсифаля. Задача крайне высокого уровня сложности
На этот раз задача будет намного более сложной и требующей больше "креативности", чем та, которая связана с н-мерными массивами.
Кстати мое решение из той задачи понадобится для решения этой задачи. Итак, пользователь вводит с клавиатуры число (N). Программа объявляет N-мерный куб (массив н-мерный со сторонами N). Далее все элементы массива инициализируются значениями (char) <= 10 случайным образом. Итого наш массив займет пространства на N в степени N байтов. Ваша задача состоит в том, чтобы тот же самый массив (т.е. все его элементы) сохранить использовав на порядки меньше оперативки. Т.е. чтобы после этого процесса пользователь мог обратиться к любой ячейке Н-мерного массива и она отображалась правильно, но опять же памяти должно уйти на порядки меньше. Предполагается, что пользователь введет N большее 6. Собственное решение приведу в воскресенье. Потому что считаю что эту задачу полезно решит всем.
Ruft ihm es zu durch alle Land', Der durch dies Wunder Gnade fand!
Hoch uber aller Welt ist Gott, Und Sein Erbarmen ist kein Spott |
08.05.2009, 19:34 | #2 |
Форумчанин
Регистрация: 28.04.2009
Сообщений: 186
|
Да и еще, победителем окажется тот, кто сможет сжать съедаемую оперативку в максимальное количество раз.
Победитель будет принят в Приорат Сиона.
Ruft ihm es zu durch alle Land', Der durch dies Wunder Gnade fand!
Hoch uber aller Welt ist Gott, Und Sein Erbarmen ist kein Spott |
08.05.2009, 19:42 | #3 | |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Цитата:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
|
08.05.2009, 19:44 | #4 |
Форумчанин
Регистрация: 28.04.2009
Сообщений: 186
|
Да, правильно. Уже есть идеи?
Если код будет писать сложно кому-нибудь - можно алгоритм хотя бы.
Ruft ihm es zu durch alle Land', Der durch dies Wunder Gnade fand!
Hoch uber aller Welt ist Gott, Und Sein Erbarmen ist kein Spott |
08.05.2009, 19:49 | #5 | |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Цитата:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
|
08.05.2009, 19:54 | #6 |
Форумчанин
Регистрация: 28.04.2009
Сообщений: 186
|
А решение этой задачи не может быть прорывом в технологии экономии оперативки для маломощных компов? (я просто в этом не разбираюсь)
Ruft ihm es zu durch alle Land', Der durch dies Wunder Gnade fand!
Hoch uber aller Welt ist Gott, Und Sein Erbarmen ist kein Spott |
08.05.2009, 19:56 | #7 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Парсифаль, думаю, что это уже придумали до нас
А вообще, посмотрим. Может, вы действительно сделали прорыв и о вас скоро заговорят (правда, не раньше воскресенья)
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
08.05.2009, 20:06 | #8 |
Форумчанин
Регистрация: 28.04.2009
Сообщений: 186
|
Для желающих можно усложнить задачу (как же я это люблю) и массив будет заполняться не числами от 0 до 10, а до того числа, который ввел пользователь.
Ruft ihm es zu durch alle Land', Der durch dies Wunder Gnade fand!
Hoch uber aller Welt ist Gott, Und Sein Erbarmen ist kein Spott |
08.05.2009, 20:13 | #9 | |
Пользователь
Регистрация: 18.03.2009
Сообщений: 89
|
Цитата:
Парсифаль, скажи, а в чем глубокий смысл всего происходящего? Ну можно хранить числа не по байтам. Можно посчитать максимальное количество бит, занимаемое числом и поставить их все в памяти вплотную. Если надо еще ужимать, то там уже начнутся алгоритмы архивации данных. Умнее них вряд ли что-то получится. Но все это приведет к тому, что для записи/чтения числа понадобиться гораздо больше времени, чем в обычном байтовом массиве. Если таких операций будет много, экономия памяти, скорее всего, себя не оправдает. Для чего все это нужно? Последний раз редактировалось Pashan; 08.05.2009 в 20:18. |
|
08.05.2009, 20:15 | #10 |
Форумчанин
Регистрация: 28.04.2009
Сообщений: 186
|
Нет, я думаю там другой принцип. Он чистую информацию (как массив) не сожмет. Он сожмет сам программу.
Тем более он жн используемую информацию не сжимает. Наоборот он разархивирует ее во время исполнения.
Ruft ihm es zu durch alle Land', Der durch dies Wunder Gnade fand!
Hoch uber aller Welt ist Gott, Und Sein Erbarmen ist kein Spott |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Конкурс им. Парсифаля - н-мерные массивы. | Парсифаль | Общие вопросы C/C++ | 32 | 08.05.2009 02:06 |
Отличие высокого от низкого | Shevali | Помощь студентам | 4 | 31.03.2009 20:01 |
Новый конкурс на форуме программистов | rpy3uH | Свободное общение | 113 | 01.03.2009 16:31 |
Задача по Паскалю. 1 уровень сложности. | Сергей1 | Помощь студентам | 2 | 19.11.2007 22:45 |
конкурс программистов ! (первый конкурс) | Alar | Свободное общение | 129 | 18.03.2007 00:50 |