题解
2026-05-22 21:46:11
发布于:浙江
1阅读
0回复
0点赞
一、题目大意
给定多项式的次数 和 个系数,要求按照数学书写规范输出多项式。
需要特别注意:
- 系数为 或 时(除常数项外)省略系数
- 最高次项不输出正号
- 指数为 时省略指数,为 时省略
二、解题思路
-
顺序遍历
- 从 到常数项依次处理
-
符号处理
- 第一项:正数不输出符号,负数输出
- - 非第一项:正数输出
+,负数输出-
- 第一项:正数不输出符号,负数输出
-
系数处理
- 常数项直接输出数值
- 非常数项且系数为 或 时,不输出
1
-
指数处理
- 指数为 :只输出系数
- 指数为 :输出
x - 指数 :输出
x^b
三、参考代码
#include<iostream>
using namespace std;
int a[105];
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
int n;
cin>>n;
for(int i=0;i<=n;i++)cin>>a[i];
bool f=true;
for(int i=0;i<=n;i++){
int d=n-i;
int c=a[i];
if(c==0)continue;
if(f){
if(c<0)cout<<"-";
f=false;
}else{
if(c>0)cout<<"+";
else{
cout<<"-";
c=-c;
}
}
if(d==0)cout<<c;
else{
if(c!=1)cout<<c;
if(d==1)cout<<"x";
else cout<<"x^"<<d;
}
}
return 0;
}
四、样例解析
输入:
5
100 -1 1 -3 0 10
输出过程:
| 项 | 处理 |
|---|---|
| 首项直接输出 | |
| 系数 省略 | |
| 系数 省略 | |
| 正常输出 | |
| 常数项 |
最终结果:
100x^5-x^4+x^3-3x^2+10
五、复杂度分析
- 时间复杂度:
- 空间复杂度:
这里空空如也



有帮助,赞一个