Найти - Пользователи
Полная версия: Программа "умножение многочленов"
Начало » Python для новичков » Программа "умножение многочленов"
1
Raptor757
Всем привет! нужна ваша помощь. Нужно написать программу “перемножить два многочлена, заданных списками”
Питон изучаю только второй день, а уже задача.
не могу реализовать, как записать в массив многочлен и как их умножить и где и как это все записывается??
Кто знает помогите пожалуйста.
py.user.next
Raptor757
как записать в массив многочлен
Записываешь его коэффициенты в обратном порядке.

Например:
4x^4 + 2x^2 - x + 3 -> (3, -1, 2, 0, 4)

Для умножения нужно просто умножить каждый член одного многочлена на каждый член другого многочлена.

Умножим наш многочлен на многочлен 2x

(4x^4 + 2x^2 - x + 3) * 2x = 8x^5 + 4x^3 - 2x^2 + 6x

(3, -1, 2, 0, 4) * (0, 2) = (0, 6, -2, 4, 0, 8)

То есть при умножении на x всё сдвинулось вправо, а при умножении на коэффициент коэффициенты просто перемножились. Мы умножили всё на коэффициент 2, а потом сдвинули всё вправо на один элемент.

Умножим наш многочлен на многочлен 2x + 1

(4x^4 + 2x^2 - x + 3) * (2x + 1) = (4x^4 + 2x^2 - x + 3) * 2x + (4x^4 + 2x^2 - x + 3) * 1 = (8x^5 + 4x^3 - 2x^2 + 6x) + (4x^4 + 2x^2 - x + 3) = 8x^5 + 4x^4 + 4x^3 + 5x + 3

(3, -1, 2, 0, 4) * (1, 2) = (3, -1, 2, 0, 4) + (0, 6, -2, 4, 0, 8) = (3, 5, 0, 4, 4, 8)

В общем, умножаешь многочлен на очередной член, а потом прибавляешь это к общему результату и на следующем шаге цикла всё повторяется. И ты просто должен следить только за тем, на сколько нужно сдвигать многочлен после умножения на коэффициент (инкрементировать счётчик текущей степени x, начиная с нуля).
Raptor757
py.user.next
спасибо! помог)
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