#include <iostream>
#include <vector>
using namespace std;
// Funkcja wczytująca stopień wielomianu i współczynniki
void wczytajWielomian(vector<int>& a, int& stopien) {
stopien = 3; // stopień wielomianu
a.resize(stopien + 1);
a[3] = 2;
a[2] = 3;
a[1] = 4;
a[0] = 5;
}
// Funkcja obliczająca wartość wielomianu schematem Hornera
int horner(const vector<int>& a, int stopien, int x) {
int wynik = a[stopien];
for (int i = stopien - 1; i >= 0; i--) {
wynik = wynik * x + a[i];
}
return wynik;
}
int main() {
vector<int> wspolczynniki;
int stopien;
int x = 3;
// Wczytanie danych
wczytajWielomian(wspolczynniki, stopien);
// Wyświetlenie danych
cout << "Stopien wielomianu: " << stopien << endl;
cout << "Wspolczynniki:" << endl;
for (int i = stopien; i >= 0; i--) {
cout << "a" << i << " = " << wspolczynniki[i] << endl;
}
cout << "x = " << x << endl << endl;
// Obliczenie wartości wielomianu
int W = horner(wspolczynniki, stopien, x);
// Wynik
cout << "W(" << x << ") = " << W << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vIEZ1bmtjamEgd2N6eXR1asSFY2Egc3RvcGllxYQgd2llbG9taWFudSBpIHdzcMOzxYJjenlubmlraQp2b2lkIHdjenl0YWpXaWVsb21pYW4odmVjdG9yPGludD4mIGEsIGludCYgc3RvcGllbikgewogICAgc3RvcGllbiA9IDM7ICAgLy8gc3RvcGllxYQgd2llbG9taWFudQoKICAgIGEucmVzaXplKHN0b3BpZW4gKyAxKTsKCiAgICBhWzNdID0gMjsKICAgIGFbMl0gPSAzOwogICAgYVsxXSA9IDQ7CiAgICBhWzBdID0gNTsKfQoKLy8gRnVua2NqYSBvYmxpY3phasSFY2Egd2FydG/Fm8SHIHdpZWxvbWlhbnUgc2NoZW1hdGVtIEhvcm5lcmEKaW50IGhvcm5lcihjb25zdCB2ZWN0b3I8aW50PiYgYSwgaW50IHN0b3BpZW4sIGludCB4KSB7CiAgICBpbnQgd3luaWsgPSBhW3N0b3BpZW5dOwoKICAgIGZvciAoaW50IGkgPSBzdG9waWVuIC0gMTsgaSA+PSAwOyBpLS0pIHsKICAgICAgICB3eW5payA9IHd5bmlrICogeCArIGFbaV07CiAgICB9CgogICAgcmV0dXJuIHd5bmlrOwp9CgppbnQgbWFpbigpIHsKICAgIHZlY3RvcjxpbnQ+IHdzcG9sY3p5bm5pa2k7CiAgICBpbnQgc3RvcGllbjsKICAgIGludCB4ID0gMzsKCiAgICAvLyBXY3p5dGFuaWUgZGFueWNoCiAgICB3Y3p5dGFqV2llbG9taWFuKHdzcG9sY3p5bm5pa2ksIHN0b3BpZW4pOwoKICAgIC8vIFd5xZt3aWV0bGVuaWUgZGFueWNoCiAgICBjb3V0IDw8ICJTdG9waWVuIHdpZWxvbWlhbnU6ICIgPDwgc3RvcGllbiA8PCBlbmRsOwogICAgY291dCA8PCAiV3Nwb2xjenlubmlraToiIDw8IGVuZGw7CiAgICBmb3IgKGludCBpID0gc3RvcGllbjsgaSA+PSAwOyBpLS0pIHsKICAgICAgICBjb3V0IDw8ICJhIiA8PCBpIDw8ICIgPSAiIDw8IHdzcG9sY3p5bm5pa2lbaV0gPDwgZW5kbDsKICAgIH0KICAgIGNvdXQgPDwgInggPSAiIDw8IHggPDwgZW5kbCA8PCBlbmRsOwoKICAgIC8vIE9ibGljemVuaWUgd2FydG/Fm2NpIHdpZWxvbWlhbnUKICAgIGludCBXID0gaG9ybmVyKHdzcG9sY3p5bm5pa2ksIHN0b3BpZW4sIHgpOwoKICAgIC8vIFd5bmlrCiAgICBjb3V0IDw8ICJXKCIgPDwgeCA8PCAiKSA9ICIgPDwgVyA8PCBlbmRsOwoKICAgIHJldHVybiAwOwp9Cg==