• 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;
    }
  • 相关阅读:
    Linux内核参数信息(Oracle相关)
    Android和java平台 DES加密解密互通程序及其不能互通的原因
    [置顶] ※数据结构※→☆线性表结构(queue)☆============循环队列 顺序存储结构(queue circular sequence)(十)
    理解 Thread.Sleep 函数
    引导加载程序:GRUB
    xvfb 初步探究
    [置顶] 中国象棋程序的设计与实现(原始版)(包含源码)
    Ext图表的精彩
    JSTL解析——004——core标签库03
    Servlet API中文版
  • 原文地址:https://www.cnblogs.com/Staceyacm/p/10781955.html
Copyright © 2020-2023  润新知