Мелкие задачки для крупных мозгов - это очень увлекательно и интересно. Однако, не очень приятно что они идентифицируются лишь по номерам. Неплохо бы дать им осмысленные названия. Вот прямые ссылки: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Я хотел сделать слабо прогрессирующий цикл (по простому - потихоньку от простого к сложному), а потом как то озаглавить. Но людей начало клинить уже после нескольких топиков (код стал посылаться на HLL, началась болтовня околотемная) вобщем я понял, что это пока сложно всё, и решил посылать просто интересные thought provoken задачки, ограниченной сложности, без какой-то системы, лишь бы они касались того что знать важно в большинстве задачек.
The Svin По началу задачки были интересные, а вот под конец как-то не очень. Хотя номер 15 понравился. Насчет номера 14 много болтовни было. Мне нравиться идея решения интересных задачек именно на ассемблере.
Там последующие вытекали из предыдущих, только на новом уровне сложности и прежде всего аналитической сложности. Согласен, что перерасло всё в болтовню. Это обычное дело - когда по делу сказать нечего очень много слово вокруг Также обычное дело, к сожалению, что когда непонятно то интересно быть не может Я немножко неправильно оценил контингент, очевидно ассемблер в основном для отдушины для большинства. Или оптимизации маленьких кусочков. Когда сложные системы идут в дело, видимо (чисто субъективное наблюдение) либо люди пользуются HLL, (в основном потому что там уже есть готовые наработки) либо вобще не врубаются. Не хочу никого обидеть, сам тугодум и перманентный чайник, чисто волей судьбы брошенный на разроботки сложных систем ) Ну нужно как то ведь и учится. Вот будем пытаться потихоньку совместными усилиями.
> "Насчет номера 14 много болтовни было" > "Это обычное дело - когда по делу сказать нечего очень много слово вокруг" Обычное дело - это когда само "дело" из разряда "сделай то - не знаю что" Перечитал я топик и никакой излишней болтовни не увидел - нормальное обсуждение путей решения не вполне определенной задачи (правда с попутным "разбором полетов" - ошибок\описок и недопониманий . И наметившееся решение в виде массива массивов (наверное это более понятное определение, чем "хэш-таблица с коллизиями" кажется вполне разумным. Ну а до конкретных примеров реализации не дошло по нескольким причинам - и автор потерял интерес к теме, и реализацию нельзя отнести к разряду "мелких задач" (если только "алгоритмически и математически"), поэтому бросаться что-то писать на асме без особой надобности ес-но никто не будет. Тут дело автора направить обсуждение в нужное русло - или конкретизировать, разбить на подзадачи и т.п., или же удовлитвориться общими словами и прикрыть тему. Вот кстати и тему Broken Sword'а об объединении и сортировке файлов постигла та же участь... Одним словом ППР - посидели, по..ли (народ. - поговорили), разошлись ))))
leo Неправда. Задача была несложная. Изложена конкретно. Предпологалось использовать пройденный материал. А значит кодирования сложного там не было. Там нужно было правильно совместить предыдущий код. Broken Sword нечего сюда приплетать, там ни стиль (детальность) изложения задачи не сравнимы, ни небыло "пройденного" материала где уже отработанны куски которые кирпичиками можно было использовать в данной задаче.
The Svin Формулировка 14й задачки практически не имеет ничего общего с предыдущими, кроме упоминания "например длин из предыдущих задач", и соответственно "пройденный материал", "предыдущий код" и "кирпичики" тут отдыхают. Мою попытку внести определенность в статистику распределения чисел (длин сигналов) ты отмел, мощность множества чисел явно никак не ограничил и значит в итоге мы получили задачку самого общего вида: имеется большой массив двордов до 2^27 элементов, каждый из которых может принимать практически любое значение (> 0). "Размерчик" входного массива уже тянет на 4*2^27=512Мб и к тому же сортировать\изменять его нельзя. Максимальный размер выходной таблицы может быть вдвое больше самого массива, т.е. до 1Гб. Рядовое ОЗУ в 512Мб-1Гб отдыхает, хотя виртуального пространства < 2Гб еще хватает, но рассматривать какие-то сортировочные структуры ссылочного типа уже проблематично (т.к.требуется доп.память на ссылки). Спрашивается с чем больше общего: с предыдущими "мелкими" задачками на битовые операции или с задачами сортировки больших файлов, которые неоднократно поднимались на форуме, но кроме общих слов так ничем и не заканчивались. Задачка Broken Sword'а - последний тому пример. А задача №14 отличается в положительную сторону только тем, что известен сортировочный ключ - dword, но зато есть и отрицательный момент - исходный массив до 512Мб неизвестно зачем сидит в памяти, а не в файле, и изменять его почему-то нельзя PS: Боюсь дальнейшие "выяснения отношений" ни к чему хорошему не приведут, поэтому надо бы как-то мягко закругляться с этим "базаром". Просто назови меня тупым болтуном и закончим на этом )
Хорошо. Смотрим первую часть задачи "Дан массив чисел (dwords)(например длин из предыдущих задач) и его длина . выделить правильно память для таблицы множества на котором построен массив (мощность * 4*2 + 4)" Т.е. нам нужно найти мощность. Что тут неконкретного? Сколько разных чисел присутсвует в массиве. Этот кирпичик обсуждался.
Вот пойди догадайся, что имелась ввиду мощность из задачи №13 - до меня только сейчас дошло... Ну да ладно, дело прошлое