#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; const double EPS = 1.0e-10; void solveEquation(const vector& a, vector& x) { class Func{ public: static double f(const vector& a, double x){ double y = 0.0; for(int i=a.size()-1; i>=0; --i){ y *= x; y += a[i]; } return y; } static double findZero(const vector& a, double x1, double x2){ double y1 = f(a, x1); double y2 = f(a, x2); while(x1 < x2 - EPS){ double x = (x1 + x2) / 2; double y = f(a, x); if((y1 < y2) ^ (y > 0)) x1 = x; else x2 = x; } return (x1 + x2) / 2; } }; x.clear(); int n = a.size(); if(n == 2){ x.push_back(- a[0] / a[1]); return; } vector b(n-1), x2; // 導関数の係数、極値点のx座標 for(int i=0; i a(4); a[3] = 1.0; for(int i=2; i>=0; --i) cin >> a[i]; vector x; solveEquation(a, x); vector ans; for(int i=0; i<3; ++i) ans.push_back((int)round(x[i])); cout << ans[0] << ' ' << ans[1] << ' ' << ans[2] << endl; return 0; }