#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
// Funkcja wczytująca stopień wielomianu i jego współczynniki
void wczytajWielomian(int &stopien, vector<int> &a) {
cout << "Podaj stopien wielomianu: ";
cin >> stopien;
a.resize(stopien + 1);
cout << "Podaj wspolczynniki od a" << stopien << " do a0:" << endl;
for (int i = stopien; i >= 0; i--) {
cin >> a[i];
}
}
// 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++) {
wynik += a[i] * pow(x, i);
}
return wynik;
}
int main() {
int stopien;
vector<int> wspolczynniki;
// Wczytanie danych
wczytajWielomian(stopien, wspolczynniki);
int x = 2; // przykładowa wartość x
// Obliczenie wartości wielomianu
int W = obliczWartosc(wspolczynniki, stopien, x);
cout << "Wartosc wielomianu dla x = " << x << " wynosi: " << W << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8Y21hdGg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8gRnVua2NqYSB3Y3p5dHVqxIVjYSBzdG9waWXFhCB3aWVsb21pYW51IGkgamVnbyB3c3DDs8WCY3p5bm5pa2kKdm9pZCB3Y3p5dGFqV2llbG9taWFuKGludCAmc3RvcGllbiwgdmVjdG9yPGludD4gJmEpIHsKICAgIGNvdXQgPDwgIlBvZGFqIHN0b3BpZW4gd2llbG9taWFudTogIjsKICAgIGNpbiA+PiBzdG9waWVuOwoKICAgIGEucmVzaXplKHN0b3BpZW4gKyAxKTsKCiAgICBjb3V0IDw8ICJQb2RhaiB3c3BvbGN6eW5uaWtpIG9kIGEiIDw8IHN0b3BpZW4gPDwgIiBkbyBhMDoiIDw8IGVuZGw7CiAgICBmb3IgKGludCBpID0gc3RvcGllbjsgaSA+PSAwOyBpLS0pIHsKICAgICAgICBjaW4gPj4gYVtpXTsKICAgIH0KfQoKLy8gRnVua2NqYSBvYmxpY3phasSFY2Egd2FydG/Fm8SHIHdpZWxvbWlhbnUgKGFsZ29yeXRtIG5haXdueSkKaW50IG9ibGljeldhcnRvc2MoY29uc3QgdmVjdG9yPGludD4gJmEsIGludCBzdG9waWVuLCBpbnQgeCkgewogICAgaW50IHd5bmlrID0gMDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDw9IHN0b3BpZW47IGkrKykgewogICAgICAgIHd5bmlrICs9IGFbaV0gKiBwb3coeCwgaSk7CiAgICB9CiAgICByZXR1cm4gd3luaWs7Cn0KCmludCBtYWluKCkgewogICAgaW50IHN0b3BpZW47CiAgICB2ZWN0b3I8aW50PiB3c3BvbGN6eW5uaWtpOwoKICAgIC8vIFdjenl0YW5pZSBkYW55Y2gKICAgIHdjenl0YWpXaWVsb21pYW4oc3RvcGllbiwgd3Nwb2xjenlubmlraSk7CgogICAgaW50IHggPSAyOyAvLyBwcnp5a8WCYWRvd2Egd2FydG/Fm8SHIHgKCiAgICAvLyBPYmxpY3plbmllIHdhcnRvxZtjaSB3aWVsb21pYW51CiAgICBpbnQgVyA9IG9ibGljeldhcnRvc2Mod3Nwb2xjenlubmlraSwgc3RvcGllbiwgeCk7CgogICAgY291dCA8PCAiV2FydG9zYyB3aWVsb21pYW51IGRsYSB4ID0gIiA8PCB4IDw8ICIgd3lub3NpOiAiIDw8IFcgPDwgZW5kbDsKCiAgICByZXR1cm4gMDsKfQo=