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 ...
随机推荐
- ratio_to_report分析函数求占比
drop table test; create table test ( name varchar(20), kemu varchar(20), score number ); insert int ...
- 17条 Swift 最佳实践规范
本文由CocoaChina译者小袋子(博客)翻译自schwa的github主页原文作者:schwa 这是一篇 Swift 软件开发的最佳实践教程. 前言 这篇文章是我根据在 SwiftGraphics ...
- Gentoo更新portage记录
小记一下这两天更新服务器版本遇到的各种问题. 服务器系统: Gentoo 第一天 其实本来不打算更新系统的,因为最近想试试免费的SSL证书,于是自然而然搜到了letsencrypt,跟着他们的流程需要 ...
- perl:_DATA_ _LINE_ _FILE_
这三个应该是句柄: _DATA_ _FILE_ _LINE_ 没有找到具体介绍...记录于此,已被后续补充.
- js 做的随机8位验证码
开发思路: 画出放置验证码的模块.一个写有“看不清…”的小块,以及输入验证码的文本框 获取各个模块 封装一个函数Yan_ma(),设置验证码为8位,里面含有数字,小写字母,小写字母和中文.每种类型出现 ...
- Python9-day2 作业
下列结果是什么? 6 or 2 >1 6 3 or 2 > 1 3 0 or 5<4 false 5 < 4 or 3 3 2 >1 or 6 True 3 ...
- timer event
/* linux/kernel/time/jiffies.c*/ static cycle_t jiffies_read(struct clocksource *cs) { return (cycle ...
- LeetCode(111) Minimum Depth of Binary Tree
题目 Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the s ...
- 【04】图解JSON
[04]图解JSON 附件列表
- luogu1131 [ZJOI2007]时态同步
num[x]表示x到达叶子最远路径. 每个子节点对答案的贡献是num[x] - (num[t] + edge[i].val) #include <iostream> #include &l ...