#include <iostream>
#include <vector>
using namespace std;
// Funkcja obliczająca wartość wielomianu metodą Hornera
int obliczHorner(const vector<int>& wspolczynniki, int x) {
int wynik = wspolczynniki[0]; // zaczynamy od najwyższego stopnia a_n
for (int i = 1; i < wspolczynniki.size(); i++) {
wynik = wynik * x + wspolczynniki[i];
}
return wynik;
}
int main() {
// Dane wielomianu
int stopien = 3;
vector<int> wspolczynniki = {2, 3, 4, 5}; // a3, a2, a1, a0
int x = 3;
// Obliczenie wartości wielomianu
int wynik = obliczHorner(wspolczynniki, x);
cout << "Stopien wielomianu: " << stopien << endl;
cout << "Wspolczynniki: a3=" << wspolczynniki[0]
<< ", a2=" << wspolczynniki[1]
<< ", a1=" << wspolczynniki[2]
<< ", a0=" << wspolczynniki[3] << endl;
cout << "x = " << x << endl;
cout << "W(" << x << ") = " << wynik << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vIEZ1bmtjamEgb2JsaWN6YWrEhWNhIHdhcnRvxZvEhyB3aWVsb21pYW51IG1ldG9kxIUgSG9ybmVyYQppbnQgb2JsaWN6SG9ybmVyKGNvbnN0IHZlY3RvcjxpbnQ+JiB3c3BvbGN6eW5uaWtpLCBpbnQgeCkgewogICAgaW50IHd5bmlrID0gd3Nwb2xjenlubmlraVswXTsgLy8gemFjenluYW15IG9kIG5hand5xbxzemVnbyBzdG9wbmlhIGFfbgogICAgZm9yIChpbnQgaSA9IDE7IGkgPCB3c3BvbGN6eW5uaWtpLnNpemUoKTsgaSsrKSB7CiAgICAgICAgd3luaWsgPSB3eW5payAqIHggKyB3c3BvbGN6eW5uaWtpW2ldOwogICAgfQogICAgcmV0dXJuIHd5bmlrOwp9CgppbnQgbWFpbigpIHsKICAgIC8vIERhbmUgd2llbG9taWFudQogICAgaW50IHN0b3BpZW4gPSAzOwogICAgdmVjdG9yPGludD4gd3Nwb2xjenlubmlraSA9IHsyLCAzLCA0LCA1fTsgLy8gYTMsIGEyLCBhMSwgYTAKICAgIGludCB4ID0gMzsKCiAgICAvLyBPYmxpY3plbmllIHdhcnRvxZtjaSB3aWVsb21pYW51CiAgICBpbnQgd3luaWsgPSBvYmxpY3pIb3JuZXIod3Nwb2xjenlubmlraSwgeCk7CgogICAgY291dCA8PCAiU3RvcGllbiB3aWVsb21pYW51OiAiIDw8IHN0b3BpZW4gPDwgZW5kbDsKICAgIGNvdXQgPDwgIldzcG9sY3p5bm5pa2k6IGEzPSIgPDwgd3Nwb2xjenlubmlraVswXQogICAgICAgICA8PCAiLCBhMj0iIDw8IHdzcG9sY3p5bm5pa2lbMV0KICAgICAgICAgPDwgIiwgYTE9IiA8PCB3c3BvbGN6eW5uaWtpWzJdCiAgICAgICAgIDw8ICIsIGEwPSIgPDwgd3Nwb2xjenlubmlraVszXSA8PCBlbmRsOwogICAgY291dCA8PCAieCA9ICIgPDwgeCA8PCBlbmRsOwogICAgY291dCA8PCAiVygiIDw8IHggPDwgIikgPSAiIDw8IHd5bmlrIDw8IGVuZGw7CgogICAgcmV0dXJuIDA7Cn0K