|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.10.2011, 18:25 | #1 |
Пользователь
Регистрация: 31.10.2009
Сообщений: 10
|
итеративный поиск в глубину
Здравствуйте!
Вопрос связан с поиском в графе. Меня интересуют идеи решения или ссылка на литературу. Пожалуйста, подскажите... Пусть даны 4 числа (пусть это a , b, c, d) и еще одно число ( пусть будет p ). Можно ли, используя основные математические операции (сложение, вычитание, деление и умножение) получить число p из чисел a , b, c, d? При чем данные числа a , b, c, d можно использовать сколько угодно раз ( некоторые можно совсем не использовать ). В задаче нужно использовать итеративный поиск в глубину. Заранее спасибо! |
23.10.2011, 09:21 | #2 |
Форумчанин
Регистрация: 25.04.2010
Сообщений: 254
|
Следует ввести понятие атомарности, т.е. единицы разрешимости задачи.
Если Р будет делиться на атом без остатка, значит задача имеет решение. Следует рассматривать числа a < b< c< d т.е. в порядке возрастания (возможно атомарность будет достигнута раньше и более крупные вектора окажутся избыточны – не нужны для решения) 1шаг: вычисляем два атома, которые получаются из векторов a и b. nab=b-k*a - недолет pab=(k+1)*a-b – перелет Но оба атома меньше чем a и b. Проверяем, если Р делится на nab или pab без остатка, то атомарность достигнута и этих векторов достаточно, чтобы получить число Р. Если интересно продолжение, ищите контакты в профиле...
помогать студентам - моя вторая профессия
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиск в глубину | Nicko_mt | Помощь студентам | 2 | 20.09.2011 14:15 |
Поиск в ширину и глубину | Дядя Тёма | Фриланс | 0 | 21.05.2011 10:42 |
Поиск в глубину и ширину в неориентированном графе | ya chef | Помощь студентам | 0 | 20.11.2010 18:25 |
Поиск в глубину и проверка связности | fallti | Общие вопросы C/C++ | 4 | 12.05.2010 21:47 |