[NOIP2009 普及组] 多项式输出
📋 个人简介
🎉大家好,我是3月份新人榜排名第三的 ༺金龙༒凤凰༻ 😎
💬支持我:点赞👍+收藏⭐️+留言📝
🌺格言:**༺永做优质༒programmer༻**🔮
📣多项式输出
🔮题目描述
🥭一元n次多项式可用如下的表达式表示:
🥭输入格式
输入共有 22 行
第一行11个整数,n,表示一元多项式的次数。
第二行有 n+1个整数,其中第ii个整数表示第n-i+1 次项的系数,每两个整数之间用空格隔开。
🥭输出格式
输出共 1 行,按题目所述格式输出多项式。
🌌输入输出样例
🍋输入 #1
5 100 -1 1 -3 0 10
🍋输出 #1
100x^5-x^4+x^3-3x^2+10
🍋输入 #2
3 -50 0 0 1
🍋输出 #2
-50x^3+1
💧说明/提示
💧NOIP 2009 普及组 第一题
💯CODE
#includeusing namespace std;int main(){int n;scanf("%d",&n);int a[n+2],b[n+2];for(int i=0;i<=n;i++){scanf("%d",&a[i]);b[i]=n-i;}for(int i=0;i<=n-2;i++){ //这是对1到n-2项的处理if(a[i]>0&&i>=1) //如果i==1代表是第一项,显然第一项是没必要输出“+”的。cout<<"+";if(a[i]!=0&&a[i]!=1&&a[i]!=-1){cout<<a[i]<<"x^"<<b[i];}if(a[i]==1){cout<<"x^"<<b[i];}if(a[i]==-1){cout<<"-x^"<<b[i];}}if(a[n-1]!=0){//对第n-1项的处理if(a[n-1]<0){if(a[n-1]!=-1)cout<<a[n-1]<<"x";if(a[n-1]==-1)cout<<"-"<<"x";}if(a[n-1]>0){if(a[n-1]!=1)cout<<"+"<<a[n-1]<<"x";if(a[n-1]==1)cout<<"+"<<"x";}}if(a[n]!=0){//对最后一项的处理if(a[n]<0)cout<<a[n];if(a[n]>0)cout<<"+"<<a[n];}return 0;}