Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Алгоритмы и теория программирования


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

CradleA
Статус: Профессионал
Рейтинг: 143
∙ повысить рейтинг »
Evgen aka Chuma
Статус: 5-й класс
Рейтинг: 18
∙ повысить рейтинг »
Роман Селиверстов
Статус: Советник
Рейтинг: 0
∙ повысить рейтинг »

∙ Алгоритмы и теория программирования

Номер выпуска:203
Дата выхода:17.04.2017, 20:15
Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
Подписчиков / экспертов:22 / 7
Вопросов / ответов:3 / 4

Консультация # 36797: Добрый день эксперты. Мне тут надо написать такую программу. С N элементов, надо выбрать M, чтоб их сумма была равна S. Числа читаются с файла. Рекурсией думаю будет очен много вариантов (переборкой элементов) и кампьютер будет долго работать (так в программе по проходу лошади по шахматной доски - как я зделал рекурсией то при размере доски в 9 и б...
Консультация # 113855: Здравствуйте уважаемые эксперты!!! Решил заняться изучением языков программирования, с чего мне начать, с какого языка? Говорят что самый клевый ассамблер, с помощью него можно много чего ломать! ..
Консультация # 132020: Здравствуйте эксперты! Имеется следующая проблема(для меня проблема:)).Не знаю как ее решить и очень надеюсь на Вашу помощь.Буду писать для OS Виндовс но понимается что должно работать и под Линукс я же линукс функции использовать не буду.Есть М записей пусть будет 100. Требуется запустить во время выполнения задачи N потоков.Пусть будет 10. И ...

Консультация # 36797:

Добрый день эксперты. Мне тут надо написать такую программу. С N элементов, надо выбрать M, чтоб их сумма была равна S. Числа читаются с файла. Рекурсией думаю будет очен много вариантов (переборкой элементов) и кампьютер будет долго работать (так в программе по проходу лошади по шахматной доски - как я зделал рекурсией то при размере доски в 9 и болле программа работала "вечно"). Может есть какой другой алгоритм? Спасибо за ответ.

Дата отправки: 05.03.2006, 12:45
Вопрос задал: OlegMA
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Boriss:

Здравствуйте, OlegMA!
Ничего особенно нетриваильного - обычная задача на перебор. Решается сложно с помощью деревьев (ссылки нужны?)
А один из простейших способов - "жадный" алгоритм:
1) берем максимально подходящее - к нему прибавляем максимально подходящие, но меньшие по величине
2) если не получилось, то берем следующее по величине и ищем к нему пары, и последующие, всегда меньшие по величину
Почитать можно здесь:
http://rain.ifmo.ru/cat/view.php/theory/algorithm-analysis/greedy-2004
http://lib.custis.ru/index.php/Задача_о_покрытии:жадный_алгоритм
есть еще БОЛЬШАЯ куча статей об этом. Привел первое, что попалось под руку

Консультировал: Boriss
Дата отправки: 06.03.2006, 14:06
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 113855:

Здравствуйте уважаемые эксперты!!!
Решил заняться изучением языков программирования, с чего мне начать, с какого языка?
Говорят что самый клевый ассамблер, с помощью него можно много чего ломать!

Дата отправки: 13.12.2007, 18:06
Вопрос задал: Смирнов Руслан Юрьевич
Всего ответов: 2
Страница онлайн-консультации »


Консультирует Виктор Пырлик:

Здравствуйте, Смирнов Руслан Юрьевич!

Начинать надо не с языков а с теории программирования...
Сомнительно, что вы будите писать на ассемблере под Windows (да и под *nix).
Наверно, в этом плане лучше все же С/С++. Да и потом легче будет «перейти» на скриптовые, типа PHP, Java*, Perl и т.д. (WEB ориентированные, например)
Но ассемблер действительно стоит в начале – это язык «человек/машина», но применим весьма в узких кругах, в основном это системное программирование (что требует кучу дополнительных знаний) или «тонкой» доводки алгоритмов, но знать его никому не мешает.
Начните с ассемблера.. Если не хватит терпения – переходите на С/С++.
С прикладной точки зрения, ассемблер сегодня мало применим. В плане обучения достаточно сложен. В ВУЗах, как правило, начинают с Pascal.. но его синтаксис и подход не так распространен как у С/С++.

Консультировал: Виктор Пырлик
Дата отправки: 13.12.2007, 18:43
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Кэр Лаэда:

Здравствуйте, Смирнов Руслан Юрьевич!
Согласен с Виктором Пырликом для того чтобы начать программировать на Ассемблере нужно понимать очень много в программировании, но не только в программировании но и в организации компьютера, его строении, структуры памяти и т.д. поэтому все же советую начинать либо с Pascal либо с C, однако если желание очень велико, и вы все же хотите писать на ассемблере то лучший по моему выход в этой ситуации это рассылка Калашникова "Ассемблер это просто"

можете ознакомится тут

Консультировал: Кэр Лаэда
Дата отправки: 13.12.2007, 18:55
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 132020:

Здравствуйте эксперты!
Имеется следующая проблема(для меня проблема:)).Не знаю как ее решить и очень надеюсь на Вашу помощь.Буду писать для OS Виндовс но понимается что должно работать и под Линукс я же линукс функции использовать не буду.Есть М записей пусть будет 100. Требуется запустить во время выполнения задачи N потоков.Пусть будет 10. И затем по завершению одного или нескольких потоков запускать следующие потоки пока не обработаются все 100 записей. но общее число одновременно работающих потоков должно быть 10.Если их ждать скажем WaitForMultipleObject то можно ждать либо все либо только один из них и как быть дальше я не знаю. Вариань с запуском 10 дождались запустили еще 10 не устраивает.

Очень буду признателен Вашей помощи.

Дата отправки: 13.04.2008, 17:15
Вопрос задал: Сирохин Игорь Леонидович
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Ross:

Здравствуйте, Сирохин Игорь Леонидович!

Для решения задач с ограниченным количеством ресурсов обычно используются объекты - семафоры.
Семафор хранит максимальное количество ресурсов, которые могут использоваться одновременно, и счетчик, показывающий, сколько ресурсов используется в данный момент. Если поток пытается обратиться к ресурсу, при количестве подключений больше максимального, то он приостанавливается до тех пор, пока другой поток не уменьшит счетчик подключений.

Грамотное объяснение методов синхронизации потоков можно найти в том же Рихтере.

Приложение:

Консультировал: Ross
Дата отправки: 14.04.2008, 00:39
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное