Wartość wielomianu w punkcie

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

Treść zadania

Napisz funkcję wartosc_wielomianu(wspolczynniki, x), która otrzymuje listę współczynników wielomianu $W(x) = a_n x^n + a_{n-1} x^{n-1} + \dots + a_0$ oraz liczbę $x$ i zwraca wartość $W(x)$.

Program wczytuje wielomian i liczbę $x$, wywołuje funkcję i wypisuje wynik.

Dane wejściowe

  • 1. linia: n — stopień wielomianu (n ≥ 0)
  • 2. linia: n+1 liczb całkowitych a_n a_{n-1} ... a_0
  • 3. linia: x — liczba całkowita

Dane wyjściowe

Jedna liczba całkowita — wartość wielomianu w punkcie x.

Ograniczenia

  • 0 ≤ n ≤ 10
  • -100 ≤ a_i ≤ 100, -10 ≤ x ≤ 10

Uwagi

  • Najprościej skorzystać ze schematu Hornera: $W(x) = (\dots((a_n x + a_{n-1}) x + a_{n-2}) x + \dots) x + a_0$. Zacznij od wyniku równego 0 i dla każdego kolejnego współczynnika a wykonaj wynik = wynik * x + a.

Przykład

Wejście
2
3 2 1
1
Wyjście
6

Wielomian to $3x^2 + 2x + 1$, a $3 \cdot 1^2 + 2 \cdot 1 + 1 = 6$.

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 2 1
2
Oczekiwane wyjście
17

Test 2

Nie uruchomiono
Wejście
0
5
10
Oczekiwane wyjście
5

Test 3

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

Test 4

Nie uruchomiono
Wejście
1
2 -7
0
Oczekiwane wyjście
-7

Test 5

Nie uruchomiono
Wejście
4
1 1 1 1 1
2
Oczekiwane wyjście
31
Uruchom z własnymi danymi