
一、核心思路
多项式可以看作由符号和数字两部分组成,其中数字又包括系数和次数,故核心思路即按次数从高到低遍历 → 逐顶处理(符号→系数→次数)同时符合数学书写规范
二、细节注意
1.符号处理:首项的正号隐藏
2.系数处理:由于已经处理过符号,只需处理绝对值;系数为0的项需要跳过(同时k递减);对于非常数项且系数等于1的项需要隐藏系数
3.次数处理:次数为1的项需要隐藏
三、代码实现
cpp
int main() {
int n; cin >> n;
for (int i = n; i >= 0; i--)
{
int s; cin >> s;
// 符号
if (s > 0 && i != n) cout << "+"; //非首项
else if (s < 0)cout << "-";
// 数字
// 1.系数 绝对值
s = abs(s);
if (s == 0) continue; // 系数为0,不输出
if (s != 1 || i == 0 ) cout << s;
// 2.次数
if (i == 0) continue;
if (i > 1)
{
cout << "x^";
cout << i;
}
if (i == 1) cout << "x";
}
return 0;
}