Найти - Пользователи
Полная версия: Решение полинома в python.
Начало » Python для новичков » Решение полинома в python.
1
gazoni16
Вот может кто нить подскажет какие функции классы и что еще мне стоит создать что бы на учить питона упрощать выражения такого вида:
(x - 5)(2x^3 + x(x^2 - 9))

в выражение вида 3x^4 - 15x^3 - 9x^2 + 45x

Какие-то доп. модули для упрощения не предлагать .

Может алгоритм предложит или подскажет польскую запись как реализовать.

Спасибо.
old_monty
gazoni16
Какие-то доп. модули для упрощения не предлагать .
А какие вам известны готовые доп. модули для решения этой задачи? И чем они вас не устраивают?
gazoni16
sympy. в две строчки решает.
Shaman
А посмотреть потроха sympy?
gazoni16
А тааааам черт ногу сломит. Все на функция, модулях и под модулях. Если честно то у меня не получилось… разобраться
old_monty
gazoni16
Вот может кто нить подскажет какие функции классы и что еще мне стоит создать что бы на учить питона упрощать выражения такого вида: (x - 5)(2x^3 + x(x^2 - 9))в выражение вида 3x^4 - 15x^3 - 9x^2 + 45xКакие-то доп. модули для упрощения не предлагать .Может алгоритм предложит или подскажет польскую запись как реализовать.Спасибо.
Да, обратная польская запись здесь очень пригодится. С польской записью тесно связаны деревья (пример для вашего случая см. на прилагаемом рисунке). Вам надо написать функцию формирования такого дерева из заданного многочлена с учетом приоритетов операторов. Операторы располагаются в узлах дерева, операнды в листьях. Затем другая функция должна делать рекурсивный обход полученного дерева с вычислением результатов. Скорее всего, потребуется стек для хранения операторов при обходе дерева и их извлечения при вычислении. Для использования в качестве стека в Python хорошо подходит обычный список.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB