P1067 多项式输出 (模拟)
题目描述
一元nn次多项式可用如下的表达式表示:

其中,a_i x^i 称为i次项,ai 称为i次项的系数。给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式:
多项式中自变量为xx,从左到右按照次数递减顺序给出多项式。
多项式中只包含系数不为00的项。
如果多项式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 多项式输出 (模拟)的更多相关文章
- 洛谷P1067 多项式输出(模拟)
题目描述 一元 n 次多项式可用如下的表达式表示: 其中,aixi称为 i 次项,ai 称为 i 次项的系数.给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式: 1. 多项式中 ...
- 洛谷 P1067 多项式输出
P1067 多项式输出 模拟,很坑的那种 var i,n:longint; a:array[1..105] of integer; begin readln(n); for i:=1 to n+1 d ...
- 洛谷——P1067 多项式输出
P1067 多项式输出 题目描述 一元 n 次多项式可用如下的表达式表示: 其中,aixi称为 i 次项,ai 称为 i 次项的系数.给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该 ...
- 洛谷P1067 多项式输出 NOIP 2009 普及组 第一题
洛谷P1067 多项式输出 NOIP 2009 普及组 第一题 题目描述 一元n次多项式可用如下的表达式表示: 输入输出格式 输入格式 输入共有 2 行 第一行 1 个整数,n,表示一元多项式的次数. ...
- 【洛谷】P1067 多项式输出
原题链接:P1067 多项式输出 题目分析:学长推荐的OJ网站 --洛谷,发现挺好用的还可以下载提交出错的数据. 废话就不多说了,这道题属于基础题.提交出错主要是因为一些小细节不到位,这里就不一一赘述 ...
- P1067 多项式输出(模拟水题)
题目描述 一元nn次多项式可用如下的表达式表示: 其中,a_ix^iaixi称为ii次项,a_iai 称为ii次项的系数.给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式: ...
- 洛谷P1067 多项式输出
题目链接:https://www.luogu.org/problemnew/show/P1067 这是一个纯模拟的小怪但是需要注意一些小细节: 1.首项为正没有+号. 2.所有项系数如果是一的话就省略 ...
- P1067多项式输出
这道题是2009普及组的题,仍然是一个字符串+模拟.(蒻到先不刷算法) 这道题的题干给了很多的提示,也很全面,但是当我把种种情况都考虑到了后,在写代码的过程中仍然出现了很多的错误,wa了三四次.其实导 ...
- P1067 多项式输出
#include <iostream>#include<cstdio>#include<algorithm>using namespace std;int a[10 ...
随机推荐
- perl 引用(数组和hash引用) --- perlreftut - Mark 的一个简单的'引用'教程 ---Understand References Today. --Mark Jason Dominus, Plover Systems (mjd-perl-ref+@plover.com)
https://blog.csdn.net/fangwei1235/article/details/8570886 首页 博客 学院 下载 论坛 APP 问答 商城 活动 VIP会员 招聘 ITeye ...
- HTML5 Geolocation(地理位置)
HTML5 Geolocation(地理位置).是用来定位用户的位置的. HTML5 Geolocation API 用于获得用户的地理位置,鉴于该特性可能侵犯用户的隐私权,除非用户同意,否则不能获取 ...
- java第九次作业:第九章例题3个
作业1: 例题9.1 制作圆类,根据圆的半径求出周长及面积 package com.swift; //抽象的方法构成类,把属性和方法进行封装 public class Circle { // 两个方面 ...
- Luogu P1080国王游戏(贪心)
国王游戏 题目链接:国王游戏 ps:题目数据说明了要写高精度. 这个题的答案是\(a.l * a.r < b.l * b.r\)按照这个进行排序 题解中大部分只是如何证明排序是: \(a.l * ...
- HDU-2544-最短路(Bellman-Ford)
Bellman-Ford算法是一个时间复杂度很高,但是它可以用来判断负环 负环就是上面的图,那个环的整体值小于零了,所以就是负环. 我们用Bellman-Ford算法进行更新,打一个表出来: k a ...
- 【图论】hdu6370Werewolf
有理有据的结论题 Problem Description "The Werewolves" is a popular card game among young people.In ...
- Ubuntu18.04 下联想电脑 无法连接WIFI问题解决
联想笔记本电脑Ubuntu系统下无法开启无线硬件开关的解决.总结了3个方法,方便以后使用. 方法一: 一.问题描述: 本人使用联想拯救者14IFI笔记本在安装Ubuntu系统时会出现无线硬件开关关闭的 ...
- verilog behavioral modeling--overview
1.verilog behavioral models contain procedural statements that control the simulation and manipulate ...
- ERROR! The server quit without updating PID file (/usr/local/var/mysql/bogon.pid).
本文转载自http://www.jb51.net/article/48625.htm 今天网站web页面提交内容到数据库,发现出错了,一直提交不了,数找了下原因,发现数据写不进去!第一反应,重启mys ...
- 安装elk,日志采集系统
#elasticsearch安装 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.0.0-linux ...