|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.11.2010, 11:53 | #1 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Каков найэффективнейший метод для решения задачи?
Доброго всем
Есть формула i=(a*b)/(c*d); известно что a,b,c,d это числа от 24 до 100, и задано i Вопрос: Каким численным методом можно найэффективнее найти a,b,c,d? И кстати буду благодарен за ссылку на литературу по алгоритму.
I'm learning to live...
|
24.11.2010, 13:07 | #2 |
Участник клуба
Регистрация: 06.04.2009
Сообщений: 1,524
|
Может симплекс-методом?
http://www.snipetz.com/math/sysanalysys/line/03.htm |
24.11.2010, 13:22 | #3 |
Форумчанин
Регистрация: 10.10.2009
Сообщений: 680
|
При таких ограничениях можно найти за секунду любым алгоритмом, так что я не вижу в этом требовании смысла) Простая оптимизация - перебирать 3 числа вместо 4. N^3 сложность (здесь и дальше параметром N будет ограничение на числа а...d)
Можно загнать в память пары произведений (т.е для каждого числа в пределах 10000 забить в память, как его можно представить в виде произведения двух чисел), и дальше перебрать пары вида і*x, x - получится сложность N^2. Можно перебрать разложения i на пару множителей. Тогда у нас есть представление в виде a/c*b/d. Для каждой пары можно найти НОД за логарифмическое время и дальше проверить пару вида (a/GCD)/(c/GCD), можно за одиничное время определить, подходит ли она нам (домножить с на минимальное допустимое "подходящее" число и проверить, прокатит ли нам пара с этим с и соответственным а) Общая сложность получается N*log(N). Наверно, можно еще быстрее, это первое, что пришло на ум. Надо быстрее? Можно увидеть пример, зачем это надо? (Ограничения повыше или что-то в этом роде... Или это должно быть ручное вычисление?) |
24.11.2010, 14:39 | #4 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
Ее то запускают не так часто и не так много народу, но до меня ее решали через БД, забивая все возможные значения в базу. Я посчитал это излишеством. Четыре вложенных цикла делают свое дело но хотелось бы еще быстрее )
I'm learning to live...
|
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Звуковая студия для решения конкретной задачи | Ivan_32 | Софт | 1 | 29.08.2009 23:26 |
Метод Гаусса с выбором главного элемента для решения СЛАУ | lira_slava | Помощь студентам | 3 | 21.05.2009 20:56 |
Нужен Макрос, для решения конкретной задачи | IREN_27 | Microsoft Office Excel | 5 | 23.04.2009 12:42 |
Метод перебора для нахождения решения "Судоку" | ДЖО | Помощь студентам | 23 | 04.06.2008 22:29 |