|
1 / 1 / 0
Регистрация: 29.10.2017
Сообщений: 62
|
||||||
Алгоритм бинарного поиска для решения кубического уравнения с одним корнем23.11.2019, 00:16. Показов 19137. Ответов 10
Добрый день, пытался написать алгоритм бинарного поиска для решения кубического уравнения с одним корнем( Ax^3 + Bx^2 + Cx + D = 0)
На вход подаются коэффициенты A, B, C, D и нужно вывести ответ с минимум 4 знаками после запятой. Вот моя тщетная попытка. О, гроссмейстеры codeforces'a и просто добрые люди, помогите разобраться новичку ![]()
0
|
||||||
| 23.11.2019, 00:16 | |
|
Ответы с готовыми решениями:
10
Программа для решения кубического уравнения
Комплексные числа для решения кубического уравнения по Кардано |
|
Просто Лис
|
||||||
| 23.11.2019, 07:04 | ||||||
Добавлено через 31 секунду Или вопрос был не про вывод?
0
|
||||||
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
|
| 23.11.2019, 16:55 | |
|
Chelick, ну это не бин. поиск, а итеративное "нечто": за 100 итераций не нашли - ничего страшного, выведем m
.
0
|
|
| 23.11.2019, 17:13 | |
|
Не по теме: Рыжий Лис, но это неточно :) - упираемся в точность двоичного логарифма от ОДЗ. Например, при 31-значных числах точность будет значительно "хромать".
0
|
|
|
Просто Лис
|
|
| 23.11.2019, 17:17 | |
|
Расчёт делался для диапазона [-1000000; 10001000].
Я согласен, что не нужно делать фиксированное число итераций, а лучше сравнивать с e=0.0001. Добавлено через 1 минуту Или я что-то путаю…
0
|
|
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
||
| 23.11.2019, 17:22 | ||
|
0
|
||
|
2 / 2 / 0
Регистрация: 28.09.2018
Сообщений: 18
|
|
| 30.10.2020, 00:42 | |
|
Вы не сможете решить кубическое уравнение одним бинпоиском, потому что функция кубического уравнения не всегда убывает или возрастает, у нее есть локальный минимум и максимум, из-за этого вы не сможете найти корни (корень) уравнения. То же самое относится к квадратному уравнению, его тоже нельзя решить одним бинпоиском, хотя его можно решить тернарным поиском (но это другая песня) И тернарный поиск тоже не подходит для кубического уравнения.
0
|
|
|
Супер-модератор
|
||||||
| 30.10.2020, 12:18 | ||||||
|
Skybi, у полинома степени 3 с вещественными коэффициентами есть хотя один вещественный корень. Что вполне очевидно. Для поиска корней полиномов бинарный поиск хорошо подходит.
0
|
||||||
|
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,760
|
|
| 30.10.2020, 14:27 | |
|
Skybi, всегда можно найти участки (решив квадратное уравнение), где полином третьей степени ведет себя монотонно. А дальше можно и бинпоиск.
1
|
|
|
2 / 2 / 0
Регистрация: 28.09.2018
Сообщений: 18
|
|
| 30.10.2020, 14:31 | |
|
Ну знаете, это не бинпоиск, а перебор скорее. Откуда мы знаем какого шага будет достаточно чтобы не забрать в диапазон лишнее, а также чтобы мы по времени не упали. Вот вы ищите ответ в диапазоне -100 100, а если ответ лежит в диапозоне -10**9 10**9 ? Что тогда делать будем?
Добавлено через 4 минуты Здесь да, согласна. Я бы решала так: находим производную данного кубического уравнения (это будет парабола 3ax^2+2bx+c=0) ее корни -- это места где у кубического изгибы (если таковы есть). В таком случае, у нас будет 3 монотонной функции (l - какая-то граница ответа, и r) [l, min(x1, x2)] [min(x1, x2), max(x1, x2)], [max(x1, x2), r] . Я хотела сказать, что тупым бинпоиском не решить задачу. Вы правильно подметили, спасибо!
0
|
|
| 30.10.2020, 14:31 | |
|
Помогаю со студенческими работами здесь
11
Составить алгоритм решения биквадратного уравнения используя при этом вспомогательный алгоритм решения квадратного уравнения (процедуры и функции) отделение отрезков в одним корнем уравнения Построить алгоритм решения биквадратного уравнения, используя как вспомогательный алгоритм решения квадратного уравнения
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
|
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y
Z4Tv2zpXVVo
https:/ / github. com/ shumilovas/ med2. git
|