Suma wielomianów

Zadanie 3 z 7 · rozdział 14Trudność: 1 z 3funkcjewielomianylisty

Treść zadania

Napisz funkcję suma_wielomianow(a, b), która otrzymuje listy współczynników dwóch wielomianów (mogą mieć różne stopnie) i zwraca listę współczynników ich sumy.

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+1 liczb całkowitych a_n ... a_0
  • 3. linia: m — stopień drugiego wielomianu (m ≥ 0)
  • 4. linia: m+1 liczb całkowitych b_m ... b_0

Dane wyjściowe

Jedna linia: dokładnie max(n, m) + 1 liczb całkowitych — współczynniki sumy od najwyższej potęgi, oddzielone spacją. Nie usuwaj zer z początku wyniku (np. gdy najwyższe potęgi się zredukują).

Ograniczenia

  • 0 ≤ n, m ≤ 10
  • -100 ≤ a_i, b_i ≤ 100

Uwagi

  • Jeśli stopnie są różne, wyrównaj listy „od końca” (od wyrazu wolnego), dopisując zera na początku krótszej listy. Np. 1 2 3 4 + 5 6 = 1 2 8 10.

Przykład

Wejście
2
3 5 2
2
2 -8 1
Wyjście
5 -3 3

$(3x^2 + 5x + 2) + (2x^2 - 8x + 1) = 5x^2 - 3x + 3$.

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 n jest podawany w dwóch liniach: najpierw liczba n, a w następnej linii n+1 liczb całkowitych a_n a_{n-1} ... a_0 oddzielonych spacjami.
  • Współczynniki są liczbami całkowitymi (mogą być ujemne). Dla n ≥ 1 współczynnik a_n jest 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.

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 uruchomiono
Wejście
2
3 5 2
1
1 2
Oczekiwane wyjście
3 6 4

Test 2

Nie uruchomiono
Wejście
0
5
2
1 0 -1
Oczekiwane wyjście
1 0 4

Test 3

Nie uruchomiono
Wejście
3
1 2 3 4
1
5 6
Oczekiwane wyjście
1 2 8 10

Test 4

Nie uruchomiono
Wejście
2
3 5 2
2
-3 1 1
Oczekiwane wyjście
0 6 3

Test 5

Nie uruchomiono
Wejście
0
4
0
-4
Oczekiwane wyjście
0
Uruchom z własnymi danymi