题目描述

一元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. spring boot 下 dataTable|pagehelper 组合进行分页 筛选 排序

    1)Js 需提前引用 jquery.dataTables $(function () { //提示信息 初始化设置 一般不需要改 var lang = { "sProcessing" ...

  2. shell脚本,awk实现行列转换

    [root@localhost study]# cat file 张三 语文 张三 数学 李四 语文 李四 数学 王五 语文 王五 数学 王五 英语 怎么实现为下面的排序??? 语文 数学 语文 数学 ...

  3. Greenplum/Deepgreen(集群/分布式)安装文档

    Deepgreen分布式安装文档 环境准备 1.安装VMware虚拟机软件,然后在VMware安装三台Linux虚拟机(使用centos7版本) 2.使用的虚拟机如下: 192.168.136.155 ...

  4. 通过工厂模式批量创建对象后调用其中方法 出现XXXis not a function()问题原因

    //通过工厂模式批量创建 function Computer(color,weight,logo){         var obj=new Object();         obj.color=c ...

  5. css布局--两列布局,左侧固定,右侧自适应(其中左侧要可以拖动,右侧水平滚动条)

    (css布局所要实现的效果) 在前端面试中经常会被问到CSS布局,两列布局,左侧固定,右侧自适应.前几天去面试,遇到了这道题的升级版,要求左侧可拖动,右侧要有水平滚动条.拿到题目确实有些大脑短路,不知 ...

  6. sudo指令和/etc/sudoers文件说明

    sudo 命令 -l 显示当前用户的sudo权限-l username 显示username的sudo权限-u username 以username的权限执行-k 强迫用户下一次执行sudo时问密码( ...

  7. java各种数据库连接

    MySQL:       String Driver="com.mysql.jdbc.Driver";    //驱动程序    String URL="jdbc:mys ...

  8. I2C驱动框架(五)

    参考:I2C子系统之 adapter driver注册——I2C_dev_init() i2c的操作在内核中是当做字符设备来操作的,相关初始化在由i2c_dev_init函数来初始化. static ...

  9. MPEG-4与H.264的区别 , 编码 以及 应用

    MPEG4是适用于监控领域的压缩技术 MPEG4于1998年11月公布,原预计1999 年1月投入使用的国际标准MPEG4不仅是针对一定比特率下的视频.音频编码,更加注重多媒体系统的交互性和灵活性.M ...

  10. set的应用:UVa10815-Andy's First Dictionary

    Andy's First Dictionary Andy, 8, has a dream - he wants to produce his very own dictionary. This is ...