|
0 / 0 / 0
Регистрация: 05.09.2011
Сообщений: 13
|
|
Перебор значений double05.09.2011, 02:14. Показов 3749. Ответов 30
Метки нет (Все метки)
Привет всем, весь день сижу и думаю над алгоритмом следующего
![]() Нам известна функция которая принимает один параметр типа double и возвращает double. Реализация функции неизвестна, но известны некоторые особенности:
Естественно, double - число довольно здоровое, и хотя мы ограничены определенным диапозоном, у нас всеравно остается куча вариантов для перебора.. [0.000000000000001 ; 0.999999999999999] Простой перебор, увеличение Х на 0.000000000000001 в цикле, займет вечность, хотя и будет самым точным.. Пробовал ограничить кол-во перебора с помощью нахождения Х-а при котором передаваемый параметр был минимальным, но так и не придуал как это граммотно реализовать. Выходило что ограничить мог не так и сильно, либо получал не те результаты.. ![]() Можетбыть кто знает какие способы по скоращению времени на перебор в данном случае? Или куда глядеть дальше по этой теме?
0
|
|
| 05.09.2011, 02:14 | |
|
Ответы с готовыми решениями:
30
Ошибки error C2296: -: недопустимо, левый операнд имеет тип "double (__cdecl *)(double,double,double Ошибка: error LNK2001: unresolved external symbol "double __cdecl Akk(double,double,double)"
|
|
2383 / 1667 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
||
| 05.09.2011, 03:57 | ||
|
0
|
||
|
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
|
||
| 05.09.2011, 03:57 | ||
|
0
|
||
|
2383 / 1667 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
|
| 05.09.2011, 04:00 | |
|
alkagolik, ну насколько я понимаю задание — функцию можно вызывать с любыми аргументами, но нет возможности её дизассемблировать. Например программа выполняется на удалённом сервере, куда можно лишь отправить программу.
0
|
|
|
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
|
|
| 05.09.2011, 04:02 | |
|
то бишь возврат проверить можно... забыл имя грека, чей это алгоритм (деление пополам) напомни пожалуйста.
0
|
|
|
2383 / 1667 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
|
| 05.09.2011, 04:07 | |
|
Ну, в этом контексте мне только Апории Зенона с его Ахиллесом и черепахой вспоминаются. Но вообще-то про дихотомию мы уже третий десяток постов разговариваем
0
|
|
|
0 / 0 / 0
Регистрация: 05.09.2011
Сообщений: 13
|
|
| 05.09.2011, 04:08 [ТС] | |
|
Возврат можно провреить всегда. Т.е. дано полное право вызивать функцию d_Function из другой функуии - например double Search(); сколько угодно раз
0
|
|
|
0 / 0 / 0
Регистрация: 05.09.2011
Сообщений: 13
|
|
| 05.09.2011, 04:09 [ТС] | |
|
Возврат можно провреить всегда. Т.е. дано полное право вызивать функцию d_Function из другой функуии - например double Search(); сколько угодно раз
0
|
|
|
0 / 0 / 0
Регистрация: 05.09.2011
Сообщений: 13
|
|
| 05.09.2011, 04:11 [ТС] | |
|
извиняюсь, произошел сбой с Gateway... Итого прошлый пост запостился дважды.
0
|
|
|
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
|
|
| 05.09.2011, 04:12 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 05.09.2011
Сообщений: 13
|
|
| 05.09.2011, 06:01 [ТС] | |
|
В ситуациях когда знак у функции за указанный промежуток меняется не один раз остается только перебор?
Добавлено через 43 минуты Так же в условии сказано, есть только одно значение параметра при котором функция вернет 0, следовательно она меняет знак лишь однажды... Итого данный метод должен сработать.
0
|
|
|
|
|
| 05.09.2011, 08:05 | |
|
Если известно, что функция просто непрерывная и возвращает только знаки (>0, <0, =0), то все зависит от точки, в которой f(x)=0. Если она иррациональная, то ваши поиски могут быть бесплодными. Если же эта точка помещается в double, то если больше никакой информации об f(x) неизвестно, то самый простой способ это упомянутый участниками форума выше. Чтобы найти точное значение этой точки, возможно, придется много перебрать значений, а приближенное значение можно очень быстро найти.
1
|
|
| 05.09.2011, 08:05 | |
|
Перебор и сравнение значений Перебор действительных значений в цикле Перебор возможных значений для трёх чисел Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|