Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[34.239.150.167] |
|
Сообщ.
#1
,
|
|
|
сегодня сделал для друзей небольшую прогу на 5-м Delphi и, вдохновлённый успехом, решил предложить свои услуги. свободное время бывает редко, так что писать буду долго. из всех заказов буду выбирать самые лёгкие, потому как сам пока далеко не профи
ближайшие планы: освоить получше Delphi, изучить постепенно что-нить такое, на чём можно реально зарабатывать, и- стать фрилансером общаться с заказчиками могу ч/з форум, а так же личкой и мылом |
Сообщ.
#2
,
|
|
|
помогите с задачей плиз
даны числа от 1 до n, 1<n<5000.Требуется написать программу(С++ Builder,Delphy,Pascal) разбиения данных чисел на минимальное количество групп, в каждой их которых сумма является простым числом. Например при n=8 такими группами могут быть: {1,4,5,6,7},{2,3,8}. |
Сообщ.
#3
,
|
|
|
Leks1999, дико извиняюсь, прочёл текст твоего задания только щазз
// до этого задания личкой слали, указывая свой мыл. твоего мыла я не вижу единственное, что приходит в голову, так это перебор вариантов: 1. создаём первую группу, из всех чисел от 1 до n 2. если сумма чисел первой группы простое, то- решение найдено, 3. иначе убираем из неё наименьшее слагаемое в очередную(вторую) группу 4. если сумма чисел каждой из групп- простые, то- решение найдено, 5. иначе- делаем "шаг_перебора" /* шаг перебора заключается в том, что мы либо отдаём очередное наименьшее слагаемое из первой группы во вторую, либо совершаем обмен большего слагаемого на меньшее так, что бы группа-донор уменьшилась на как можно более маленький шаг (на столько же увеличится группа-рецептор) */ 6. если теперь группа-донор (по сумме членов) стала меньше группы-рецептора, ТО это означает, что уже был совершён полный перебор для данного кол-ва групп, и надо теперь делать перебор для бОльшего кол-ва групп. для этого опять сваливаем все слагаемые в одну группу, а из неё отдаём наименьшее- в последнюю группу, следующее- в предпоследнюю и т п, и переходим к п 4 7. если же группа-донор ещё НЕ меньше группы-рецептора, то переходим к п 4 алгоритм надобы ещё додумать, упростить, и реализовать. *** можно попробовать другой вариант: 1. найти сумму чисел от 1 до n 2. разбить её на как можно меньшее кол-во простых слагаемых (это всегда возможно. в худшем случае будет 1+1+1...) 3. попробовать уложить числа от 1 до n в соответствующие группы (с найденными простыми суммами всех членов) 4. если не удалось- ... вот тут начинаются сложности, из-за которых я и оставил этот вариант вторым. а не основным т е здесь мы приходим к перебору, ничуть не проще того, что в первом варианте, но перед этим мы уже потратили время на другие действия в итоге, первый вариант решения задачи, оказывается более простым и быстрым для общего случая *** Leks1999, если тебе ещё нужна такая прога- напиши. а так же напиши, есть ли в задании ограничения на сложность алгоритма. если это учебное задание, то хотелось бы увидеть его точную полную формулировку |
Сообщ.
#4
,
|
|
|
ya2500можете с базой знаний помочь?
|