diff --git a/polynomial.h b/polynomial.h index 89ce8ca..dafb6ec 100644 --- a/polynomial.h +++ b/polynomial.h @@ -144,6 +144,8 @@ public: } return r; } + Polynomial even_powers() const {int d=degree()/2; Polynomial r(d); for(int i=0; i<=degree(); i+=2) r[i/2] = (*this)[i]; return r;}; + Polynomial odd_powers() const {int d=(degree()-1)/2; Polynomial r(d); if(degree()==0) {r[0]=0; return r;} for(int i=1; i<=degree(); i+=2) r[(i-1)/2] = (*this)[i]; return r;}; void polydiv(const Polynomial &rhs, Polynomial &q, Polynomial &r) const; Polynomial operator/(const Polynomial &rhs) const {Polynomial q,r; polydiv(rhs,q,r); return q;}; Polynomial operator%(const Polynomial &rhs) const {Polynomial q,r; polydiv(rhs,q,r); return r;}; diff --git a/t.cc b/t.cc index c3f391b..cead833 100644 --- a/t.cc +++ b/t.cc @@ -2288,7 +2288,9 @@ if(1) { int n; cin >>n ; -cout <<"Hermite = "<(n); +Polynomial p=hermite_polynomial(n); +cout <<"Hermite = "<