题目描述

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

其中,a_i x^i 称为i次项,ai​ 称为i次项的系数。给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式:

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

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

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

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

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

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

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

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

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

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

输入输出格式

输入格式:

输入共有 2 行

第一行1个整数,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

题解:这道题很考验细心程度,WA了两次,调了半小时才AC。注意分首项、中间项、尾项考虑问题,特别要注意的是系数为1 -1 0时的变通,指数为1时也要注意。
#include<iostream>
using namespace std; int main(){
int n;
int a[];
while(cin>>n){
int cnt = ;
for(int i=; i<=n; i++){
cin>>a[i];
if(a[i] == ) cnt ++;
}
if(n == ){
cout<<a[]<<endl;
continue;
}
for(int i=; i<=n; i++){
if(a[i] != ){
//尾项处理
if(i == n){
if(a[i] > && cnt < n)
cout<<"+"<<a[i];
else
cout<<a[i];
continue;
}
//首项处理
if(i == && a[i] != && a[i]!= -)
cout<<a[i]<<"x";
else if(i == && a[i] == )
cout<<"x";
else if(i == && a[i] == -)
cout<<"-"<<"x"; //中间项处理
if(i < n && i > && a[i] > )
cout<<"+"<<a[i]<<"x";
else if(i < n && i > && a[i] == )
cout<<"+"<<"x";
else if(i < n && i > && a[i] < -)
cout<<a[i]<<"x";
else if(i < n && i > && a[i] == -)
cout<<"-"<<"x";
              //指数处理
if(n-i != ){
cout<<"^"<<n-i;
} }
}
cout<<endl;
}
}

P1067 多项式输出 (模拟)的更多相关文章

  1. 洛谷P1067 多项式输出(模拟)

    题目描述 一元 n 次多项式可用如下的表达式表示: 其中,aixi称为 i 次项,ai 称为 i 次项的系数.给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式: 1. 多项式中 ...

  2. 洛谷 P1067 多项式输出

    P1067 多项式输出 模拟,很坑的那种 var i,n:longint; a:array[1..105] of integer; begin readln(n); for i:=1 to n+1 d ...

  3. 洛谷——P1067 多项式输出

    P1067 多项式输出 题目描述 一元 n 次多项式可用如下的表达式表示: 其中,aixi称为 i 次项,ai 称为 i 次项的系数.给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该 ...

  4. 洛谷P1067 多项式输出 NOIP 2009 普及组 第一题

    洛谷P1067 多项式输出 NOIP 2009 普及组 第一题 题目描述 一元n次多项式可用如下的表达式表示: 输入输出格式 输入格式 输入共有 2 行 第一行 1 个整数,n,表示一元多项式的次数. ...

  5. 【洛谷】P1067 多项式输出

    原题链接:P1067 多项式输出 题目分析:学长推荐的OJ网站 --洛谷,发现挺好用的还可以下载提交出错的数据. 废话就不多说了,这道题属于基础题.提交出错主要是因为一些小细节不到位,这里就不一一赘述 ...

  6. P1067 多项式输出(模拟水题)

    题目描述 一元nn次多项式可用如下的表达式表示: 其中,a_ix^iai​xi称为ii次项,a_iai​ 称为ii次项的系数.给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式: ...

  7. 洛谷P1067 多项式输出

    题目链接:https://www.luogu.org/problemnew/show/P1067 这是一个纯模拟的小怪但是需要注意一些小细节: 1.首项为正没有+号. 2.所有项系数如果是一的话就省略 ...

  8. P1067多项式输出

    这道题是2009普及组的题,仍然是一个字符串+模拟.(蒻到先不刷算法) 这道题的题干给了很多的提示,也很全面,但是当我把种种情况都考虑到了后,在写代码的过程中仍然出现了很多的错误,wa了三四次.其实导 ...

  9. P1067 多项式输出

    #include <iostream>#include<cstdio>#include<algorithm>using namespace std;int a[10 ...

随机推荐

  1. Python基础篇 -- 小数据池和再谈编码

    小数据池 1. id() 通过id()可以查看到一个变量表示的值在内存中的地址 s = "Agoni" print(id(s)) # 2410961093272 2. is 和 = ...

  2. Greenplum/Deepgreen(单机/伪分布)安装文档

    Greenplum/Deepgreen数据库安装(单机/伪分布) 首先去官网下载centos7:https://www.centos.org/download/,选择其中一个镜像下载即可,网上随意下载 ...

  3. 【Java基础】java中的反射机制与动态代理

    一.java中的反射机制 java反射的官方定义:在运行状态下,可以获取任意一个类的所有属性和方法,并且可通过某类任意一对象实例调用该类的所有方法.这种动态获取类的信息及动态调用类中方法的功能称为ja ...

  4. lsof指令使用简介

    lsof替代了netstat和ps的全部工作.它可以带来那些工具所能带来的一切,而且要比那些工具多得多 最重要的是,当你给它传递选项时,默认行为是对结果进行“或”运算.因此,如果是用-i来拉出一个端口 ...

  5. 用python实现自动玩21点小游戏

    1. 背景 前段时间发现一个论坛上(https://npupt.com/blackjack.php)有21点小游戏. 这个21点小游戏的规则是每个人开局都会获得随机点数,如果觉得点数小,可以继续摸牌. ...

  6. JavaWeb项目中集成Swagger API文档

    1.增加依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-sw ...

  7. BIOM Table-codes

    import numpy from biom.table import Table ========================================================== ...

  8. Luogu3195 [HNOI2008]玩具装箱TOY (方程变形 + 斜率优化 )

    题意: 给出一个序列 {a[i]} 把其分成若干个区间,每个区间的价值为 W = (j − i + ∑ak(i<=k<=j) - L)​2 ,求所有分割方案中价值之和的最小值. 细节: 仔 ...

  9. ORACLE 查询所有用户调度作业

    --查询所有用户调度作业:select * from ALL_SCHEDULER_JOBS; --查询当前用户调度作业:select * from USER_SCHEDULER_JOBS; --查询当 ...

  10. 6,id 小数据池,编码and解码。

    asscii :8位(数字,英文,特殊字符)表示一个字符. A:0000 0001 unicode :(万国码)初期:16位,两个字节,表示两个字符. A:0000 0001 0000 0001 中: ...