#include #include "poly.h" ostream& operator<<(ostream &os, const Poly &p) { static const char *supers[10] = { "⁰", "¹", "²", "³", "⁴", "⁵", "⁶", "⁷", "⁸", "⁹" }; os << p[0]; for (int i = 1; i < (int)p.size(); i++) { if (p[i] < 0) os << " - " << -p[i]; else if (p[i] > 0) os << " + " << p[i]; else continue; os << "x"; if (i == 1) continue; ostringstream ss; ss << i; string s = ss.str(); for (char c : s) os << supers[c - '0']; } return os; }