| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [C++] Найти количество целых решений |
| Автор: Lollipo 18.10.2010, 07:03 |
| Количество решений У вас есть пять номеров, b, c, d и e. Найти число целых решений уравнения (ax3 + bx2 + сх + d) / (х - е) = 0 в интервале [0,1000]. |
| Автор: Alexeis 18.10.2010, 08:26 |
| Lollipo, теперь хотелось бы увидеть, как вы пытались решить эту задачу. |
| Автор: bsa 18.10.2010, 10:11 |
| Для домашних заданий, курсовых, существует "Центр Помощи". Тема перенесена! |
| Автор: Elerond 18.10.2010, 12:30 |
| Я так понимаю достаточно решить только ax^3 + bx^2 + cx + d = 0 , и не забыть что x<>e Для решения кубических уравнений уже есть готовые методы. |
| Автор: Alexeis 18.10.2010, 14:06 |
| Я бы домножил на (х - е) обе части уравнения и применил теорему виета. Тут единственное что нужно исключить решение х = е; Количество вариантов перебора в пределе 1000^3, но всегда меньше либо равно d / a . Так что для целочисленной арифметики вполне подъемно решить менее чем за 1с. А, вообще, все все аналитические решения представлены тут http://www.terver.ru/algeq6.php . Так что можно воспользоваться более эффективным и быстрым решением. Но мне все же кажется, что задача не в записи аналитической формулы, а в численном решении. Учитывая что численный метод не указан, то можно решать любым. |