P1067多项式输出
这道题是2009普及组的题,仍然是一个字符串+模拟。(蒻到先不刷算法)
这道题的题干给了很多的提示,也很全面,但是当我把种种情况都考虑到了后,在写代码的过程中仍然出现了很多的错误,wa了三四次。其实导致这些错误的缘由仍然是思路不够清晰,没有考虑清楚,以及代码能力差。多亏了测试数据,帮助我改错,,,
1.模拟题,将情况准确分类判断
2.考虑各个部分的共性,减去不必要的判断
3.自己造特殊数据去验证,举一反三
代码
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<string>
#include<cstring>
#define MAXN 100005
using namespace std;
int n;
string s;
int a[MAXN];
bool judge1(int x){//次数||系数是否为0
if(x==) return true;
else return false;
}
bool judge2(int x){//是否为负
if(x<) return true;
else return false;
}
bool judge3(int x){//次数系数是否为一
if(x==||x==-) return true;
else return false;
}
int main(){
cin>>n;
for(int i=;i<=n+;i++){
cin>>a[i];
}
int k=n;
while(k>=){
if(judge1(a[n-k+])==false){//系数不为0
if(k==n){//第一个特判
if(judge2(a[n-k+])){//负的
if(judge3(a[n-k+])==true){//系数为1
cout<<"-"<<"x"<<"^"<<k;
}
else{
cout<<"-"<<abs(a[n-k+])<<"x"<<"^"<<k;
}
}
else {//正的
if(judge3(a[n-k+])){
cout<<"x"<<"^"<<k;
}
else{
cout<<a[n-k+]<<"x"<<"^"<<k;
}
}
}
else if(k==){//为最后一个数
if(judge2(a[n-k+])) cout<<"-"<<abs(a[n-k+]);
else cout<<"+"<<a[n-k+]; }
else if(k==){//次数为1时
if(judge2(a[n-k+])){//负的
if(judge3(a[n-k+])){
cout<<"-"<<"x";
}
else{
cout<<"-"<<abs(a[+n-k])<<"x";
}
}
else{//正的
if(judge3(a[n-k+])){
cout<<"+"<<"x";
}
else{
cout<<"+"<<a[n-k+]<<"x";
}
}
}
else{//为后面的数
if(judge2(a[n-k+])){//负的
if(judge3(a[n-k+])){
cout<<"-"<<"x"<<"^"<<k;
}
else{
cout<<"-"<<abs(a[+n-k])<<"x"<<"^"<<k;
}
}
else{//正的
if(judge3(a[n-k+])){
cout<<"+"<<"x"<<"^"<<k;
}
else{
cout<<"+"<<a[n-k+]<<"x"<<"^"<<k;
}
}
}
}
k--;
}
return ; }
P1067多项式输出的更多相关文章
- 洛谷——P1067 多项式输出
P1067 多项式输出 题目描述 一元 n 次多项式可用如下的表达式表示: 其中,aixi称为 i 次项,ai 称为 i 次项的系数.给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该 ...
- 洛谷 P1067 多项式输出
P1067 多项式输出 模拟,很坑的那种 var i,n:longint; a:array[1..105] of integer; begin readln(n); for i:=1 to n+1 d ...
- 洛谷P1067 多项式输出 NOIP 2009 普及组 第一题
洛谷P1067 多项式输出 NOIP 2009 普及组 第一题 题目描述 一元n次多项式可用如下的表达式表示: 输入输出格式 输入格式 输入共有 2 行 第一行 1 个整数,n,表示一元多项式的次数. ...
- 【洛谷】P1067 多项式输出
原题链接:P1067 多项式输出 题目分析:学长推荐的OJ网站 --洛谷,发现挺好用的还可以下载提交出错的数据. 废话就不多说了,这道题属于基础题.提交出错主要是因为一些小细节不到位,这里就不一一赘述 ...
- P1067 多项式输出(模拟水题)
题目描述 一元nn次多项式可用如下的表达式表示: 其中,a_ix^iaixi称为ii次项,a_iai 称为ii次项的系数.给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式: ...
- P1067 多项式输出 (模拟)
题目描述 一元nn次多项式可用如下的表达式表示: 其中,a_i x^i 称为i次项,ai 称为i次项的系数.给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式: 多项式中自变量 ...
- 洛谷P1067 多项式输出(模拟)
题目描述 一元 n 次多项式可用如下的表达式表示: 其中,aixi称为 i 次项,ai 称为 i 次项的系数.给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式: 1. 多项式中 ...
- 洛谷P1067 多项式输出
题目链接:https://www.luogu.org/problemnew/show/P1067 这是一个纯模拟的小怪但是需要注意一些小细节: 1.首项为正没有+号. 2.所有项系数如果是一的话就省略 ...
- P1067 多项式输出
#include <iostream>#include<cstdio>#include<algorithm>using namespace std;int a[10 ...
随机推荐
- VSCode支持jsx自动补全
点击settings.json中编辑, 把这段话加上去就可以了 "emmet.includeLanguages": { "javascript": " ...
- BZOJ 2217: [Poi2011]Lollipop 构造 + 思维
Description 有一个长度为n的序列a1,a2,...,an.其中ai要么是1("W"),要么是2("T").现在有m个询问,每个询问是询问有没有一个连 ...
- 箱排序(Bin Sort)
1.基本思想 排序过程无须比较关键字,而是通过"分配"和"收集"过程来实现排序.它们的时间复杂度可达到线性阶:O(n). 箱排序也称桶排序(Bucket Sor ...
- Logstash的filter插件介绍
一 官网说明 过滤器插件对事件执行中介处理.通常根据事件的特征有条件地应用过滤器. 以下过滤器插件在下面可用. Plugin Description Github repository aggrega ...
- python build-in function
目录(?)[-] absx alliterable anyiterable basestring binx boolx callableobject chri classmethodfunction ...
- pyinstaller打包的exe太大?你需要嵌入式python玄学 探索篇
上篇我们讲到pip的安装以及普通库用pip的安装方法 CodingDog:pyinstaller打包的exe太大?你需要嵌入式python玄学 拓展篇zhuanlan.zhihu.com 问题纷沓而 ...
- android之实现上下左右翻页效果
如果实现上下或者左右翻页效果,我们借助下这个开源项目:https://github.com/openaphid/android-flip Aphid FlipView是一个能够实现Flipboard翻 ...
- centos7 yum安装jdk
安装之前先检查一下系统有没有自带open-jdk 命令: rpm -qa |grep java rpm -qa |grep jdk rpm -qa |grep gcj 如果没有输入信息表示没有安装. ...
- serlvet操作数据库
工具:eclipse 数据库工具:mysql java ee操作数据库,首先要导入数据库驱动文件,我用的是mysql 刚开始,很多人代码正确但是就是连接不上,原因就是忘了驱动文件的导入. 我的驱动文件 ...
- leetcode-mid-design-380. Insert Delete GetRandom O(1)
mycode import random class RandomizedSet(object): def __init__(self): """ Initialize ...