第三次个人赛题目2 【多项式输出格式】

问题 B: 此题乃神题,劝你别做

时间限制: 1 Sec  内存限制: 128 MB
提交: 138  解决: 8
[提交][状态][讨论版]

题目描写叙述

声明:这道题没有涉及不论什么算法!给定函数f = (1) + (2) * b + (3) * c + (4) * d + (5)。

输入

输入数据有多组。 每组数据有5个整数,分别相应函数f 中(1)、(2)、(3)、(4)、(5)。


输出

输出f的表达式。详细看给出的例子输出,不要有多余的符号。

例子输入

2 3 -3 4 -5
1 2 3 -4 5
2 0 2 2 2

例子输出

2+3b-3c+4d-5
1+2b+3c-4d+5
2+2c+2d+2

提示

 

代码:

 

//总结:这样的题首先要分两种情况:带不带字母 。还得注意。第一个数 是正数的时候,不用输出+。

//当是字母的时候看看有没有系数为1(或者-1)的项,假设有系数为1(或者-1)的项,那个系数就不用输出了 //然后得看系数是正还是负,假设是负的话。就不用管了,就直接将那一项输出即可了。假设是正的话。还得 //考虑是否输出正号。假设前面的系数都是0。那正号就不用输出了,假设有数,就得输出正号! //还得考虑当全部的系数都是0,那就仅仅能输出0了; //注意:1.字母的系数1(-1仅仅输出负号)不输出。数的话1要输出。 // 2.正号是否输出!

(前面的系数都是0或者是第一项的话就不用输出) // 3.当全部的项都是0的话,不能没有输出!要输出0! // 4.注意数的大小(在hpuoj仅仅能用long long),32位不能满足就仅仅能用long long型来定义了!

#include <stdio.h> #include <string.h> #include <math.h> #include <algorithm> using namespace std; int main() { long long a,b,c,d,e; while(scanf("%lld%lld%lld%lld%lld",&a,&b,&c,&d,&e)!=EOF)//要用long long型进行定义!

{ if(a!=0)//必须推断是否为0,假设是0,则不用输出,否则必须输出 printf("%lld",a); if(b<0)//对后面的数要正负分情况讨论,假设为负数不用输出正号。直接将数输出来即可了 {//可是,又一个问题来了。要是是-1的话,连1都不用输出了,直接输出-b即可了。 if(b==-1) printf("-b"); else//否则得输出那个负数 printf("%lldb",b); } else if(b>0) { if(a!=0)//假设是正数,而且前面有数的话,才干加正号 { printf("+"); } if(b==1)//得推断系数是否是1,是1的话就不用输出1了! printf("b"); else//要是不是1的话。就得将正数输出 printf("%lldb",b); } if(c<0)//c,d和b事实上是一样的,在前面的系数是负数的时候,得分情况输出,看看是-1不是。是-1的话1就不用输出了 {//否则全部的数都得输出! if(c==-1) printf("-c"); else printf("%lldc",c); } else if(c>0)//当为正数的时候,你不但要考虑前面的是否为1,1不输出,并且得考虑正好是否输出。仅仅有前面有数的时候正号才输出! { if(a||b) printf("+"); if(c==1) printf("c"); else printf("%lldc",c); } if(d<0) { if(d==-1) printf("-d"); else printf("%lldd",d); } else if(d>0) { if(a||b||c) printf("+"); if(d==1) printf("d"); else printf("%lldd",d); } if(e<0)//最后一个是数。而不带字母。所以是正负1都得输出! printf("%d",e); else if(e>0) { if(a||b||c||d)//可是正1的时候你的正号得推断,假设前面没有数的话。正号就不用输出了!

printf("+"); printf("%lld",e); } if(!a&&!b&&!c&&!d&&!e)//假设前面的数的系数都是0的话就输出最后的结果为0!

printf("0"); printf("\n");//最后记住换行 } return 0; }

 

注意:这道题我做的思想没有错。就是用long long会出现输入1 0 0 0 0而输出a+0b+0c+0d的现象,你把long long换成__int64再试试,就对了!

 

代码:

 

//总结:这样的题首先要分两种情况:带不带字母 。还得注意,第一个数 是正数的时候,不用输出+。
//当是字母的时候看看有没有系数为1(或者-1)的项。假设有系数为1(或者-1)的项,那个系数就不用输出了
//然后得看系数是正还是负,假设是负的话。就不用管了。就直接将那一项输出即可了,假设是正的话,还得
//考虑是否输出正号。假设前面的系数都是0,那正号就不用输出了。假设有数,就得输出正号。
//还得考虑当全部的系数都是0,那就仅仅能输出0了;
//注意:1.字母的系数1(-1仅仅输出负号)不输出。数的话1要输出。
//		2.正号是否输出!(前面的系数都是0或者是第一项的话就不用输出)
// 		3.当全部的项都是0的话。不能没有输出!要输出0!

// 4.注意数的大小(在hpuoj仅仅能用long long)。32位不能满足就仅仅能用long long型来定义了。 #include <stdio.h> #include <string.h> #include <math.h> #include <algorithm> using namespace std; int main() { __int64 a,b,c,d,e; while(scanf("%I64d%I64d%I64d%I64d%I64d",&a,&b,&c,&d,&e)!=EOF)//要用long long型进行定义。 { if(a!=0)//必须推断是否为0,假设是0。则不用输出。否则必须输出 printf("%I64d",a); if(b<0)//对后面的数要正负分情况讨论,假设为负数不用输出正号,直接将数输出来即可了 {//可是,又一个问题来了。要是是-1的话,连1都不用输出了,直接输出-b即可了! if(b==-1) printf("-b"); else//否则得输出那个负数 printf("%I64db",b); } else if(b>0) { if(a!=0)//假设是正数,而且前面有数的话,才干加正号 { printf("+"); } if(b==1)//得推断系数是否是1,是1的话就不用输出1了!

printf("b"); else//要是不是1的话。就得将正数输出 printf("%I64db",b); } if(c<0)//c,d和b事实上是一样的,在前面的系数是负数的时候。得分情况输出,看看是-1不是。是-1的话1就不用输出了 {//否则全部的数都得输出。 if(c==-1) printf("-c"); else printf("%I64dc",c); } else if(c>0)//当为正数的时候,你不但要考虑前面的是否为1,1不输出。并且得考虑正好是否输出。仅仅有前面有数的时候正号才输出! { if(a||b) printf("+"); if(c==1) printf("c"); else printf("%I64dc",c); } if(d<0) { if(d==-1) printf("-d"); else printf("%I64dd",d); } else if(d>0) { if(a||b||c) printf("+"); if(d==1) printf("d"); else printf("%I64dd",d); } if(e<0)//最后一个是数。而不带字母,所以是正负1都得输出。 printf("%d",e); else if(e>0) { if(a||b||c||d)//可是正1的时候你的正号得推断,假设前面没有数的话。正号就不用输出了! printf("+"); printf("%I64d",e); } if(!a&&!b&&!c&&!d&&!e)//假设前面的数的系数都是0的话就输出最后的结果为0! printf("0"); printf("\n");//最后记住换行 } return 0; }


 

转载于:https://www.cnblogs.com/jzdwajue/p/7398737.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/428875.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html5干货,干货:详解HTML5中常见的五大全局属性

HTML5中新增了“全部属性”的概念。所谓全局属性它是指可以对任何元素都可以使用的属性&#xff0c;今天为大家详细介绍三种常见的全局属性。contentEditable属性contentEditable是由微软开发。被其他浏览器反编译并投入应用的一个全局属性。它的主要功能是是否允许用户编辑元素…

用C语言模拟栈(简单实现)

//C语言模拟栈&#xff0c;简单实现 #include <stdio.h> #include <stdlib.h> typedef struct Node node; struct Node {int data;node *next; }; int quchu(node *p) //取出栈中的数 {if (p->next NULL)return -1;else{int x p->next->data;return x;}…

计算机网络技术教材多少钱,计算机网络技术课程标准教材.doc

《计算机网络技术》课程标准?为了规范计算机网络技术课程的教学&#xff0c;促进该课程教学质量的不断提高&#xff0c;保证计算机网络专业人才培养规格&#xff0c;特制定本课程的标准。本标准包括课程的性质与课程定位的定性描述、课程标准的设计思路、课程目标、课程内容标…

7-13 部落 (25 分)

在一个社区里&#xff0c;每个人都有自己的小圈子&#xff0c;还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里&#xff0c;于是要请你统计一下&#xff0c;在一个给定社区中&#xff0c;到底有多少个互不相交的部落&#xff1f;并且检查任意两个人是否属…

CSS常用的选择器和优先级的权重问题

CSS注释 CSS修改页面中的所有标签&#xff0c;必须借助选择器选中。选择器中&#xff0c;可以写多对CSS属性&#xff0c;用{}包裹&#xff1b;每个属性名与属性值之间用:分隔&#xff0c;多对属性之间&#xff0c;必须用;来分隔选择器{ 属性1:属性值1; 属性2:属性值2; 【选择器…

江阳职高计算机应用教改实验,计算机应用课程教改模式

掌握基本的计算机操作技能几乎成为当前社会每位劳动者的必备知识。在此情况下&#xff0c;以就业为根本导向的高职院校更应当注重学生的计算机基本教学。“计算机应用基础”课程教学也要不断与与时俱进&#xff0c;这样在才能适应社会对人才的全新要求。本文主要就高职院校“计…

memset和fill

C : memset 用法:memset(a,0,sizeof(a)); C fill用法&#xff1a;fill(ch,chn,0); 二维数组&#xff1a;fill&#xff08;ch[0],ch[0]mn,0);

转 list三种遍历效率

第一种&#xff1a;迭代器遍历for(Iterator<String> it list.iterator(); it.hasNext(); ) { .... } 这种方式在循环执行过程中会进行数据锁定&#xff0c;性能稍差&#xff0c;同时如果你想在循环过程中去掉某个元素&#xff0c;只能调用it.re…

7-9 六度空间 (30 分) C++实现

7-9 六度空间 (30 分) “六度空间”理论又称作“六度分隔&#xff08;Six Degrees of Separation&#xff09;”理论。这个理论可以通俗地阐述为&#xff1a;“你和任何一个陌生人之间所间隔的人不会超过六个&#xff0c;也就是说&#xff0c;最多通过五个人你就能够认识任何一…

有关计算机组成原理知识的论文,关于计算机组成原理的论文_计算机组成原理_图灵机的组成...

懂计算机组成原理的朋友进&#xff0c;帮帮我啊&#xff01;2演示《闪速存储器及技术》。首先是多媒体的组成&#xff0c;图声字&#xff0c;二是计算机的组成&#xff0c;主板&#xff0c;CPU&#xff0c;内存。三电脑读文件的过程 CPU将多媒体文件有硬盘调入内存&#xff0c;…

如何开发一个异常检测系统:异常检测 vs 监督学习

异常检测算法先是将一些正常的样本做为无标签样本来学习模型p(x),即评估参数&#xff0c;然后用学习到的模型在交叉验证集上通过F1值来选择表现最好的ε的值&#xff0c;然后在测试集上进行算法的评估。这儿用到了带有标签的数据&#xff0c;那么为什么不直接用监督学习对y1和y…

浙江省高等学校计算机等级考试有什么用,06秋年秋浙江省高等学校计算机等级考试试卷(三级数据库技术及应用)...

2006年秋浙江省高等学校(三级网络技术)试题1判断题用√和表示对和错(每小题1分&#xff0c;共10分)1&#xff0e;WWW是基于客户机和超文本技术建立的&#xff0c;其工作方式是客户机/服务器模式。T(1)2&#xff0e;计算机网络中信息的传输速率的单位是帧/秒。F(2)3&#xff0e;…

7-6 列出连通集 (25 分)(C语言实现)

给定一个有N个顶点和E条边的无向图&#xff0c;请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时&#xff0c;假设我们总是从编号最小的顶点出发&#xff0c;按编号递增的顺序访问邻接点。 输入格式: 输入第1行给出2个整数N(0<N≤10)和E&#xff0c…

KVM--安装及初步使用

KVM是Kernel-based Virtual Machine的简称,是一个开源的虚拟化模块,今天我将在CentOS7的操作系统上安装KVM,以下是我的安装步骤. 一.环境信息 系统: CentOS 7.2 IP: 10.0.0.12/24 在虚拟机安装时,需要启用CPU的虚拟化功能 二. KVM安装步骤 1. 安装qemu-kvm和libvirt [rootkvm-…

微机化远动系统与计算机网络,远动技术教案_第3章_微机监控系统数据通信网络结构及原理.pdf...

Generated by Foxit PDF Creator © Foxit SoftwareFor evaluation only.第三章数据通信网络结构及原理远动监控系统信息传输及网络通信技术主讲&#xff1a;申惠华东交通大学电气与电子工程学院Generated by Foxit PDF Creator © Foxit SoftwareFor evaluation only.…

7-9 六度空间 (30 分)(C语言实现)

“六度空间”理论又称作“六度分隔&#xff08;Six Degrees of Separation&#xff09;”理论。这个理论可以通俗地阐述为&#xff1a;“你和任何一个陌生人之间所间隔的人不会超过六个&#xff0c;也就是说&#xff0c;最多通过五个人你就能够认识任何一个陌生人。”如图1所示…

中南大学和中山大学计算机专业哪个好,中山大学和中南大学哪个实力更强?一字之差,一起来看看吧!...

原标题&#xff1a;中山大学和中南大学哪个实力更强&#xff1f;一字之差&#xff0c;一起来看看吧&#xff01;我国好大学有很多&#xff0c;但是各大学之间的实力参差不齐&#xff0c;就算是985也有很大区别&#xff0c;今天我们就谈一谈两个名字&#xff0c;比较相似的&…

在latex或者mathtype中如何输入花体,如拉式量L

这个问题困扰我很久&#xff0c;知道我找到这个答案&#xff1a;把 \mathcal{L}直接黏贴到mathtype的编辑框中就可以产生花体L了转载于:https://www.cnblogs.com/www-caiyin-com/p/7410050.html

7-3 旅游规划 (25 分)(C语言实现)

有了一张自驾旅游路线图&#xff0c;你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序&#xff0c;帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的&#xff0c;那么需要输出最便宜的一条路径。 输入格式: …

计算机软件专利申请期限,软件发明专利申请期限为何那么长

一、发明专利1.适用范围发明专利申请适用范围较广&#xff0c;不但包括方法、工艺、配方、中西药、计算机软件、电子商务等技术领域&#xff0c;还可包括机械设备、机、电产品等具有立体形状和功能结构的工业品和日用品&#xff0c;但前者只能申请发明专利&#xff0c;后者还可…