zoukankan      html  css  js  c++  java
  • P1067 多项式输出(模拟水题)

    题目描述

    一元nn次多项式可用如下的表达式表示:

    其中,a_ix^iai​xi称为ii次项,a_iai​ 称为ii次项的系数。给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式:

    1. 多项式中自变量为xx,从左到右按照次数递减顺序给出多项式。

    2. 多项式中只包含系数不为00的项。

    3. 如果多项式nn次项系数为正,则多项式开头不出现“++”号,如果多项式nn次项系

    数为负,则多项式以“-−”号开头。

    4. 对于不是最高次的项,以“++”号或者“-−”号连接此项与前一项,分别表示此项

    系数为正或者系数为负。紧跟一个正整数,表示此项系数的绝对值(如果一个高于00次的项,

    其系数的绝对值为11,则无需输出 11)。如果xx的指数大于11,则接下来紧跟的指数部分的形

    式为“x^bxb”,其中 bb为 xx的指数;如果 xx的指数为11,则接下来紧跟的指数部分形式为“xx”;

    如果 xx 的指数为00,则仅需输出系数即可。

    5. 多项式中,多项式的开头、结尾不含多余的空格。

    输入输出格式

    输入格式:

    输入共有 22 行

    第一行11 个整数,nn,表示一元多项式的次数。

    第二行有 n+1n+1个整数,其中第ii个整数表示第n-i+1n−i+1 次项的系数,每两个整数之间用空格隔开。

    输出格式:

    输出共 11 行,按题目所述格式输出多项式。

    输入输出样例

    输入样例#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 
    

    题解:注意几个输出的地方即可

    代码:

    #include<cstdio>
    #include<iostream>
    #include<algorithm>
    #include<cstring>
    
    using namespace std;
    
    int main() {
    	int n;
    	cin>>n;
    	int a[1005];
    	for(int t=0; t<n; t++) {
    		scanf("%d",&a[t]);
    	}
    	cin>>a[n];
    	for(int t=0; t<n; t++) {
    		if(t==0) {
    			if(a[t]!=0) {
    				if(abs(a[t])!=1)
    					cout<<a[t];
    				else if(a[t]==-1) {
    					cout<<"-";
    				}
    				if(n-t>1)
    					cout<<"x^"<<n-t;
    				else
    					cout<<"x";
    			}
    
    
    		} else if(a[t]>0&&t!=0) {
    			if(a[t]==1) {
    				cout<<"+";
    			} else  {
    
    				cout<<"+"<<a[t];
    			}
    			if(n-t>1)
    				cout<<"x^"<<n-t;
    			else
    				cout<<"x";
    		} else if(a[t]<0&&t!=0) {
    			if(a[t]==-1) {
    				cout<<"-";
    			} else  {
    
    				cout<<a[t];
    			}
    			if(n-t>1)
    				cout<<"x^"<<n-t;
    			else
    				cout<<"x";
    		}
    	}
    	if(a[n]>0) {
    		cout<<"+"<<a[n]<<endl;
    	}
    	if(a[n]<0) {
    		cout<<a[n]<<endl;
    	}
    	return 0;
    }
  • 相关阅读:
    希腊字母写法
    The ASP.NET MVC request processing line
    lambda aggregation
    UVA 10763 Foreign Exchange
    UVA 10624 Super Number
    UVA 10041 Vito's Family
    UVA 10340 All in All
    UVA 10026 Shoemaker's Problem
    HDU 3683 Gomoku
    UVA 11210 Chinese Mahjong
  • 原文地址:https://www.cnblogs.com/Staceyacm/p/10781955.html
Copyright © 2011-2022 走看看