|
|
|
Алгоритм поиска суммы
|
|||
|---|---|---|---|
|
#18+
Альмалексия, пока минимум не найдем :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2010, 19:54:01 |
|
||
|
Алгоритм поиска суммы
|
|||
|---|---|---|---|
|
#18+
рстудио, а вы сами то свой код тестировали? Если да, то что у вас вышло? У меня с вашим кодом получается 26 шагов по 2.6 и 4 шага по 0.7, что есть 70.4. ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2010, 22:40:30 |
|
||
|
Алгоритм поиска суммы
|
|||
|---|---|---|---|
|
#18+
Прошу прощения за безыскусное решение конкретно этой задачи - как-то не хотелось применять общие методы без особой нужды. Но зато у него есть большой плюс - оно быстро работает (максимум - один рекурсивный вызов), памяти, соответственно, не жрет и для указанных коэффициентов всегда находит оптимальное решение по кол-ву шагов. Возможно не оптимальное, но близкое - доказывать лениво как-то. Идея заключается в том, что для четных значений легко вычисляется оптимум используя коэффициенты 2.6; 2 * 0.7 = 14; 0.2. 1.3 не нужен - потому что 2*1.3 = 2.6. А для нечетных чисел производится попытка выбрать оптимальный коэффициент приведения к четному - то есть - оценить, что лучше вычесть 1.3, 0.7 или 1. Последний применяется только для чисел меньших 0,7 (что приведет к потере точности). Для всех остальных чисел (больше или равным 0,7) алгоритм позволяет всегда получить точное значение. Значения задаются в целых числах, умноженные на 10. то есть 86,5 задается как 865. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 02:24:31 |
|
||
|
Алгоритм поиска суммы
|
|||
|---|---|---|---|
|
#18+
Задача о рюкзаке.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 11:49:51 |
|
||
|
Алгоритм поиска суммы
|
|||
|---|---|---|---|
|
#18+
mikhail_nрстудио, а вы сами то свой код тестировали? Если да, то что у вас вышло? У меня с вашим кодом получается 26 шагов по 2.6 и 4 шага по 0.7, что есть 70.4. ??? Лень было посчитать :) теперь все чики-поки :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 12:29:26 |
|
||
|
Алгоритм поиска суммы
|
|||
|---|---|---|---|
|
#18+
Mozokrstudio, загони код в Ворд и посчитай символы. Вы действительно решили мерятся кодом ? Я давно хотел померять код в процедурном языке с чемто функциональным. Во мне давно теплится мысль что в функциональном программировании программы частенько выходят банально длинее. Я уже не говорю о том что сложнее :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 12:35:48 |
|
||
|
Алгоритм поиска суммы
|
|||
|---|---|---|---|
|
#18+
rstudio, "внатуре" решил померяться :). Прошу ваш пример на шарпе, ибо примеры на бейсике больше в 2 раза. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 12:50:57 |
|
||
|
Алгоритм поиска суммы
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 13:12:20 |
|
||
|
Алгоритм поиска суммы
|
|||
|---|---|---|---|
|
#18+
rstudio, а этот код хоть работает :)? Вот, навскидку, уже в объявлении йункции тип переменных L - это что такое? Да и переменная r ничем не инициализируется. Вы ошибочки поправьте-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 13:23:15 |
|
||
|
Алгоритм поиска суммы
|
|||
|---|---|---|---|
|
#18+
admiral.diver, Ограничения 0.2a + 0.7b + 1.3c + 2.6d=86 a>=0 b>=0 c>=0 d>=0 a,b,c,d - целые Целевая функция a+b+c+d >= min Ну а дальше симплекс-метод и его частный случай с условием на целостность переменных. Так, не? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 13:47:10 |
|
||
|
Алгоритм поиска суммы
|
|||
|---|---|---|---|
|
#18+
Тыжных Иванadmiral.diver, Целевая функция a+b+c+d -> min ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 14:32:19 |
|
||
|
Алгоритм поиска суммы
|
|||
|---|---|---|---|
|
#18+
Mozokrstudio, а этот код хоть работает :)? Вот, навскидку, уже в объявлении йункции тип переменных L - это что такое? Да и переменная r ничем не инициализируется. Вы ошибочки поправьте-то. работает работает :) Код: plaintext 1. 186 байт как и было :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 14:36:06 |
|
||
|
Алгоритм поиска суммы
|
|||
|---|---|---|---|
|
#18+
rstudio Код: plaintext 1. Это нормально - суммировать число и список ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 14:41:41 |
|
||
|
Алгоритм поиска суммы
|
|||
|---|---|---|---|
|
#18+
Mozokrstudio, а этот код хоть работает :)? Вот, навскидку, уже в объявлении йункции тип переменных L - это что такое? Да и переменная r ничем не инициализируется. Вы ошибочки поправьте-то. работает работает :) Код: plaintext 1. 186 байт как и было :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 14:55:17 |
|
||
|
Алгоритм поиска суммы
|
|||
|---|---|---|---|
|
#18+
Mozokrstudio, а этот код хоть работает :)? Вот, навскидку, уже в объявлении йункции тип переменных L - это что такое? Да и переменная r ничем не инициализируется. Вы ошибочки поправьте-то. работает работает :) Код: plaintext 1. 186 байт как и было :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 15:08:44 |
|
||
|
Алгоритм поиска суммы
|
|||
|---|---|---|---|
|
#18+
пардон, интернет заглючил :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 15:09:17 |
|
||
|
Алгоритм поиска суммы
|
|||
|---|---|---|---|
|
#18+
Mozokrstudio Код: plaintext 1. Это нормально - суммировать число и список ? так ну ты уже не придирайся, давай свою версию. Мне после каждого чиха оптимизаций по коду лениво перепроверять, но не волнуйся, опечатки механические, алгоритм эквивалентен с васиковским Если нужно будет, отладим :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 15:11:18 |
|
||
|
Алгоритм поиска суммы
|
|||
|---|---|---|---|
|
#18+
rstudio, дык, я и не придираюсь. Просто хочу увидеть рабочую версию. Мой код вот работает без всякой отладки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 15:18:36 |
|
||
|
Алгоритм поиска суммы
|
|||
|---|---|---|---|
|
#18+
Есть такая рабочая версия и все теже <190 байт. ЗЫ: Вообщем я бы не тратил время на отладку, отладку можно провести в конце, просто для контроля что оптимизация не была достигнута в счет утраты работоспособности. итак счет 190/365 пользу шарпа. Ваш ход 190_байт Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 20:08:49 |
|
||
|
Алгоритм поиска суммы
|
|||
|---|---|---|---|
|
#18+
тут еще глянул, два else там не нужны. 185 байт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 20:44:50 |
|
||
|
Алгоритм поиска суммы
|
|||
|---|---|---|---|
|
#18+
rstudio, изменил в вашей программе 86 на 85,05. Получил зависание. Уверяю, что у меня такого не произойдет :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 21:00:49 |
|
||
|
Алгоритм поиска суммы
|
|||
|---|---|---|---|
|
#18+
Mozokrstudio, изменил в вашей программе 86 на 85,05. Получил зависание. Уверяю, что у меня такого не произойдет :). Это шутка наверное такая. Счастливые обладатели компилятора Лиспа или чего то там думают что их корч работает наверное на квантовых процессорах ЗЫ: Для задачи не имеющей решение программа не зависает, а оставив эвристику уходит в полный перебор комбинаций. Решения для чисел с нормальным десятичным знаком ( как по условию задачи ) решения находятся в доли секунды. ЗЫЗЫ: Все еще с надеждой увидеть версию в в 185-1 байт :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 21:14:10 |
|
||
|
Алгоритм поиска суммы
|
|||
|---|---|---|---|
|
#18+
кстате, проревьювил тут ваш код. Что это за рассово неправильные обьявления за пределами функции. Повод для оптимизации моего кода, 153 байта уже :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2010, 21:42:07 |
|
||
|
Алгоритм поиска суммы
|
|||
|---|---|---|---|
|
#18+
rstudio153 байта уже :)размер файла проекта и то что студия нагенерила не учитываем, да? ;-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2010, 00:27:29 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=36680875&tid=1343597]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
355ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 696ms |

| 0 / 0 |
