Mnożenie wielomianów
Treść zadania
Napisz funkcję iloczyn_wielomianow(a, b), która otrzymuje listy współczynników dwóch wielomianów i zwraca listę współczynników ich iloczynu.
Program wczytuje oba wielomiany, wywołuje funkcję i wypisuje współczynniki wyniku.
Dane wejściowe
- 1. linia:
n— stopień pierwszego wielomianu (n ≥ 0) - 2. linia:
n+1liczb całkowitycha_n ... a_0 - 3. linia:
m— stopień drugiego wielomianu (m ≥ 0) - 4. linia:
m+1liczb całkowitychb_m ... b_0
Dane wyjściowe
Jedna linia: dokładnie n + m + 1 liczb całkowitych — współczynniki iloczynu od najwyższej potęgi, oddzielone spacją.
Ograniczenia
0 ≤ n, m ≤ 10-100 ≤ a_i, b_i ≤ 100
Uwagi
- Każdy wyraz pierwszego wielomianu mnożymy przez każdy wyraz drugiego: $a_i x^i \cdot b_j x^j = a_i b_j x^{i+j}$. Utwórz listę
n + m + 1zer i dla każdej pary pozycjii(w liściea) orazj(w liścieb) dodaja[i] * b[j]do pozycjii + jwyniku.
Przykład
3 5 0 10 6 2 1 2 4
5 10 30 26 52 24
$(5x^3 + 10x + 6)(x^2 + 2x + 4) = 5x^5 + 10x^4 + 30x^3 + 26x^2 + 52x + 24$.
Potrzebujesz teorii?
Zasady obowiązujące w rozdziale 14
Poniższe zadania dotyczą pisania funkcji operujących na wielomianach. Wielomian zapisujemy jako listę jego współczynników od najwyższej potęgi do wyrazu wolnego: lista [a_n, a_{n-1}, ..., a_1, a_0] oznacza wielomian $a_n x^n + a_{n-1} x^{n-1} + \dots + a_1 x + a_0$.
Konwencje wspólne:
- Każde zadanie to osobny program: czyta standardowe wejście i wypisuje wynik na standardowe wyjście. Główną pracę wykonuje funkcja opisana w treści zadania — program tylko wczytuje dane, wywołuje funkcję i wypisuje wynik (gotowy szkielet znajdziesz w sekcji „Kod startowy”).
- Wielomian stopnia
njest podawany w dwóch liniach: najpierw liczban, a w następnej liniin+1liczb całkowitycha_n a_{n-1} ... a_0oddzielonych spacjami. - Współczynniki są liczbami całkowitymi (mogą być ujemne). Dla
n ≥ 1współczynnika_njest różny od zera. - Gdy wynikiem jest wielomian, wypisz jego współczynniki od najwyższej potęgi w jednej linii, oddzielone pojedynczą spacją, bez nawiasów i przecinków.
- Program nie wypisuje komunikatów typu „Podaj liczbę:”.
Zadanie pochodzi z otwartego zbioru Nauka-Programowania (z rozwiązaniami wzorcowymi). Zgłoś błąd w treści lub testach.
Przywrócono Twój zapisany kod.
Python uruchomi się w przeglądarce przy pierwszym teście.
Kod zapisuje się automatycznie w tej przeglądarce. Tab wstawia wcięcie; aby opuścić edytor klawiaturą, naciśnij Esc, a potem Tab.
Testy
Program dostaje „Wejście” przez input() i musi wypisać „Oczekiwane wyjście”. Liczby porównywane są z tolerancją 0,01, a tekst podany w input("…") nie jest sprawdzany.
Test 1
Nie uruchomiono1 1 2 1 3 4
3 10 8
Test 2
Nie uruchomiono0 5 2 1 0 -1
5 0 -5
Test 3
Nie uruchomiono1 1 -1 1 1 1
1 0 -1
Test 4
Nie uruchomiono2 2 0 1 1 1 1
2 2 1 1
Test 5
Nie uruchomiono0 -2 0 3
-6