#include <iostream>
#include <vector>
using namespace std;
// Funkcja wczytująca współczynniki wielomianu
void wczytajWielomian(vector<int>& a, int& stopien) {
stopien = 3; // stopień wielomianu
a.resize(stopien + 1);
// współczynniki: a3=1, a2=2, a1=3, a0=4
a[0] = 4;
a[1] = 3;
a[2] = 2;
a[3] = 1;
}
// Funkcja obliczająca wartość wielomianu (algorytm naiwny)
int obliczWartosc(const vector<int>& a, int stopien, int x) {
int wynik = 0;
for (int i = 0; i <= stopien; i++) {
int potega = 1;
for (int j = 0; j < i; j++) {
potega *= x; // liczenie x^i naiwnie
}
wynik += a[i] * potega;
}
return wynik;
}
int main() {
vector<int> a;
int stopien;
int x = 2;
wczytajWielomian(a, stopien);
int W = obliczWartosc(a, stopien, x);
cout << "Stopien wielomianu: " << stopien << endl;
cout << "a3 = " << a[3] << endl;
cout << "a0 = " << a[0] << endl;
cout << "x = " << x << endl;
cout << "W(2) = " << W << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8gRnVua2NqYSB3Y3p5dHVqxIVjYSB3c3DDs8WCY3p5bm5pa2kgd2llbG9taWFudQp2b2lkIHdjenl0YWpXaWVsb21pYW4odmVjdG9yPGludD4mIGEsIGludCYgc3RvcGllbikgewogICAgc3RvcGllbiA9IDM7ICAvLyBzdG9waWXFhCB3aWVsb21pYW51CgogICAgYS5yZXNpemUoc3RvcGllbiArIDEpOwoKICAgIC8vIHdzcMOzxYJjenlubmlraTogYTM9MSwgYTI9MiwgYTE9MywgYTA9NAogICAgYVswXSA9IDQ7CiAgICBhWzFdID0gMzsKICAgIGFbMl0gPSAyOwogICAgYVszXSA9IDE7Cn0KCi8vIEZ1bmtjamEgb2JsaWN6YWrEhWNhIHdhcnRvxZvEhyB3aWVsb21pYW51IChhbGdvcnl0bSBuYWl3bnkpCmludCBvYmxpY3pXYXJ0b3NjKGNvbnN0IHZlY3RvcjxpbnQ+JiBhLCBpbnQgc3RvcGllbiwgaW50IHgpIHsKICAgIGludCB3eW5payA9IDA7CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPD0gc3RvcGllbjsgaSsrKSB7CiAgICAgICAgaW50IHBvdGVnYSA9IDE7CiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBpOyBqKyspIHsKICAgICAgICAgICAgcG90ZWdhICo9IHg7ICAgLy8gbGljemVuaWUgeF5pIG5haXduaWUKICAgICAgICB9CiAgICAgICAgd3luaWsgKz0gYVtpXSAqIHBvdGVnYTsKICAgIH0KCiAgICByZXR1cm4gd3luaWs7Cn0KCmludCBtYWluKCkgewogICAgdmVjdG9yPGludD4gYTsKICAgIGludCBzdG9waWVuOwogICAgaW50IHggPSAyOwoKICAgIHdjenl0YWpXaWVsb21pYW4oYSwgc3RvcGllbik7CiAgICBpbnQgVyA9IG9ibGljeldhcnRvc2MoYSwgc3RvcGllbiwgeCk7CgogICAgY291dCA8PCAiU3RvcGllbiB3aWVsb21pYW51OiAiIDw8IHN0b3BpZW4gPDwgZW5kbDsKICAgIGNvdXQgPDwgImEzID0gIiA8PCBhWzNdIDw8IGVuZGw7CiAgICBjb3V0IDw8ICJhMCA9ICIgPDwgYVswXSA8PCBlbmRsOwogICAgY291dCA8PCAieCA9ICIgPDwgeCA8PCBlbmRsOwogICAgY291dCA8PCAiVygyKSA9ICIgPDwgVyA8PCBlbmRsOwoKICAgIHJldHVybiAwOwp9Cg==