链接: https://www.luogu.com.cn/problem/P1067
题目
P1067 多项式输出
题目描述
一元n次多项式可用如下的表达式表示:
输入格式
输入共有 2行
第一行1 个整数,n,表示一元多项式的次数。
第二行有 n+1个整数,其中第i个整数表示第n−i+1次项的系数,每两个整数之间用空格隔开。
输出格式
输出共 1 行,按题目所述格式输出多项式。
想法
一般模拟 水题
#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
int T,num[105],mark[105];
int main(){
cin>>T;
for(int i=T;i>=0;i--){
mark[i]=0;
cin>>num[i];
if(num[i]>0)mark[i]=1;
if(num[i]==0)mark[i]=0;
if(num[i]<0){
mark[i]=-1;
num[i]=abs(num[i]);
}
}
for(int i=T;i>=0;i--){
if(T==i&&mark[i]==-1)
cout<<'-';
if(i!=T){
if(mark[i]==1)cout<<'+';
else if(mark[i]==0)continue;
else cout<<'-';
}
if(num[i]==1&&i==0)
cout<<"1";
else if(i==1&&num[i]==1)
cout<<"x";
else if(i==1)
cout<<num[i]<<"x";
else if(i==0)
cout<<num[i];
else if(num[i]==1)
cout<<"x^"<<i;
else
cout<<num[i]<<"x^"<<i;
}
return 0;
}