#include <iostream>
#include <vector>
using namespace std;
// Funkcja 1 – wczytuje stopień wielomianu i współczynniki
vector<int> wczytajWspolczynniki(int& stopien) {
cout << "Podaj stopien wielomianu: ";
cin >> stopien;
vector<int> a(stopien + 1);
for (int i = stopien; i >= 0; i--) {
cout << "Podaj wspolczynnik a" << i << ": ";
cin >> a[i];
}
return a;
}
// Funkcja 2 – oblicza wartosc wielomianu algorytmem naiwnym
int obliczWielomian(const vector<int>& a, int stopien, int x) {
int wynik = 0;
for (int i = stopien; i >= 0; i--) {
int potega = 1;
for (int j = 0; j < i; j++) {
potega *= x;
}
int skladnik = a[i] * potega;
cout << "a" << i << " * x^" << i << " = "
<< a[i] << " * " << potega << " = "
<< skladnik << endl;
wynik += skladnik;
}
return wynik;
}
int main() {
int stopien;
int x = 2;
vector<int> wspolczynniki = wczytajWspolczynniki(stopien);
cout << "\nObliczenia dla x = " << x << endl;
int W = obliczWielomian(wspolczynniki, stopien, x);
cout << "\nW(" << x << ") = " << W << endl;
return 0;
}
CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPHZlY3Rvcj4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vIEZ1bmtjamEgMSDigJMgd2N6eXR1amUgc3RvcGllxYQgd2llbG9taWFudSBpIHdzcMOzxYJjenlubmlraQp2ZWN0b3I8aW50PiB3Y3p5dGFqV3Nwb2xjenlubmlraShpbnQmIHN0b3BpZW4pIHsKICAgIGNvdXQgPDwgIlBvZGFqIHN0b3BpZW4gd2llbG9taWFudTogIjsKICAgIGNpbiA+PiBzdG9waWVuOwoKICAgIHZlY3RvcjxpbnQ+IGEoc3RvcGllbiArIDEpOwoKICAgIGZvciAoaW50IGkgPSBzdG9waWVuOyBpID49IDA7IGktLSkgewogICAgICAgIGNvdXQgPDwgIlBvZGFqIHdzcG9sY3p5bm5payBhIiA8PCBpIDw8ICI6ICI7CiAgICAgICAgY2luID4+IGFbaV07CiAgICB9CgogICAgcmV0dXJuIGE7Cn0KCi8vIEZ1bmtjamEgMiDigJMgb2JsaWN6YSB3YXJ0b3NjIHdpZWxvbWlhbnUgYWxnb3J5dG1lbSBuYWl3bnltCmludCBvYmxpY3pXaWVsb21pYW4oY29uc3QgdmVjdG9yPGludD4mIGEsIGludCBzdG9waWVuLCBpbnQgeCkgewogICAgaW50IHd5bmlrID0gMDsKCiAgICBmb3IgKGludCBpID0gc3RvcGllbjsgaSA+PSAwOyBpLS0pIHsKICAgICAgICBpbnQgcG90ZWdhID0gMTsKCiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBpOyBqKyspIHsKICAgICAgICAgICAgcG90ZWdhICo9IHg7CiAgICAgICAgfQoKICAgICAgICBpbnQgc2tsYWRuaWsgPSBhW2ldICogcG90ZWdhOwogICAgICAgIGNvdXQgPDwgImEiIDw8IGkgPDwgIiAqIHheIiA8PCBpIDw8ICIgPSAiCiAgICAgICAgICAgICA8PCBhW2ldIDw8ICIgKiAiIDw8IHBvdGVnYSA8PCAiID0gIgogICAgICAgICAgICAgPDwgc2tsYWRuaWsgPDwgZW5kbDsKCiAgICAgICAgd3luaWsgKz0gc2tsYWRuaWs7CiAgICB9CgogICAgcmV0dXJuIHd5bmlrOwp9CgppbnQgbWFpbigpIHsKICAgIGludCBzdG9waWVuOwogICAgaW50IHggPSAyOwoKICAgIHZlY3RvcjxpbnQ+IHdzcG9sY3p5bm5pa2kgPSB3Y3p5dGFqV3Nwb2xjenlubmlraShzdG9waWVuKTsKCiAgICBjb3V0IDw8ICJcbk9ibGljemVuaWEgZGxhIHggPSAiIDw8IHggPDwgZW5kbDsKCiAgICBpbnQgVyA9IG9ibGljeldpZWxvbWlhbih3c3BvbGN6eW5uaWtpLCBzdG9waWVuLCB4KTsKCiAgICBjb3V0IDw8ICJcblcoIiA8PCB4IDw8ICIpID0gIiA8PCBXIDw8IGVuZGw7CgogICAgcmV0dXJuIDA7Cn0K