洛谷P1067 多项式输出

..

题目描述

一元nn次多项式可用如下的表达式表示:

f(x)=a_nx^n+a_{n-1}x^{n-1}+\cdots +a_1x+a_0,a_n\ne 0f(x)=anxn+an1xn1++a1x+a0,an0

其中,a_ix^iaixi称为ii次项,a_iai 称为ii次项的系数。给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式:

  1. 多项式中自变量为xx,从左到右按照次数递减顺序给出多项式。

  2. 多项式中只包含系数不为00的项。

  3. 如果多项式nn次项系数为正,则多项式开头不出现“+”号,如果多项式nn次项系数为负,则多项式以“-”号开头。

  4. 对于不是最高次的项,以“+”号或者“-”号连接此项与前一项,分别表示此项系数为正或者系数为负。紧跟一个正整数,表示此项系数的绝对值(如果一个高于00次的项,其系数的绝对值为11,则无需输出 11)。如果xx的指数大于11,则接下来紧跟的指数部分的形式为“x^bxb”,其中 bb为 xx的指数;如果 xx的指数为11,则接下来紧跟的指数部分形式为“xx”;如果 xx 的指数为00,则仅需输出系数即可。

  5. 多项式中,多项式的开头、结尾不含多余的空格。

输入输出格式

输入格式:

 

输入共有 22 行

第一行11 个整数,nn,表示一元多项式的次数。

第二行有 n+1n+1个整数,其中第ii个整数表示第n-i+1ni+1 次项的系数,每两个整数之间用空格隔开。

 

输出格式:

 

输出共 11 行,按题目所述格式输出多项式。

 

输入输出样例

输入样例#1: 复制
5 
100 -1 1 -3 0 10
输出样例#1: 复制
100x^5-x^4+x^3-3x^2+10
输入样例#2: 复制
3 
-50 0 0 1 
输出样例#2: 复制
-50x^3+1 

说明

NOIP 2009 普及组 第一题

对于100%数据,0 \le n \le 1000n100,-100 \le100≤系数\le 100100

..

 

 

题解:这题真是口区心心。。。

一开始以为很简单。后来从50->40--40--40分,最后一口气AC了.

自己敲几个 01 01 11 00之类的数据调试即可。

看了题解说倒数第二项因为是一次方所以才知道要特殊处理orz

而且,更坑的是,它未必就一定是 第一项最高次没有符号,而是第一次出现的那一项没有加号,所以用nosign变量记录是否出现了第一个项,同时如果全是零,也要特判输出0.

 1 #include <iostream>
 2 #include <algorithm>
 3 #include <cmath>
 4 #include <stdio.h>
 5 #include <cstring>
 6 #include <string>
 7 #include <cstdlib>
 8 #include <queue>
 9 #include <stack>
10 #include <set>
11 #include <vector>
12 #include <map>
13 #include <list>
14 #include <iomanip>
15 #define maxn 10000
16 //#include <>
17 using namespace std;
18 int main()
19 {
20     int n,x,sign=0,nosign=0;
21     int last=0;
22     scanf("%d",&n);
23     for(int i=n;i>=0;i--)
24     {
25         nosign=0;
26         scanf("%d",&x);
27         if(i==n)
28             last=x;
29         else{
30             if(last==0)
31                 nosign=1;
32             last=1;
33         }
34         if(x==0)
35             {
36                 sign++;
37                 continue;
38             }
39         //头部:没有头符号,直接输出x和几次方 
40         if(i==n){
41             if(x==1||x==-1)
42             {
43                 if(x<0)
44                     printf("-");
45                 printf("x^%d",i);
46             }
47             else{
48                 printf("%dx^%d",x,i);
49             }    
50             
51         }
52         //倒数第二项
53         else if(i==1)
54         {
55             if(x==1||x==-1)
56             {
57                 if(x<0&&!nosign)
58                     printf("-");
59                 else if(x>0&&!nosign){
60                     printf("+");
61                 }
62                 printf("x");
63             }
64             else{
65                 if(x>0&&!nosign)
66                     printf("+");
67                 printf("%dx",x);
68             }
69         } 
      //中部
70 else if(i!=0){ 71 if(x>0&&!nosign) 72 printf("+"); 73 if(x==1||x==-1) 74 { 75 if(x<0) 76 printf("-"); 77 printf("x^%d",i); 78 } 79 else{ 80 printf("%dx^%d",x,i); 81 } 82 83 } 84 //尾部:输出x。 85 else{ 86 if(x>0&&!nosign) 87 printf("+"); 88 printf("%d",x); 89 } 90 } 91 if(sign==n) 92 cout<<"0"; 93 printf("\n"); 94 return 0; 95 }

 

转载于:https://www.cnblogs.com/greenaway07/p/10969411.html

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

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

相关文章

李飞飞团队:如何制造更聪明的人工智能?让人工生命在复杂环境中进化

来源&#xff1a;集智俱乐部作者&#xff1a;郭瑞东 审校&#xff1a;张澳 编辑&#xff1a;邓一雪 论文题目&#xff1a;Embodied intelligence via learning and evolution论文链接&#xff1a;https://www.nature.com/articles/s41467-021-25874-z1. 智能和身体形态有关动物…

数据结构——图的C语言实现

文章目录1.什么是图&#xff1f;2.图的抽象数据结构3.如何在程序中表示一个图&#xff1f;3.1 邻接矩阵3.2 邻接表4.图的遍历4.1 深度优先搜索4.2 广度优先搜索5.图的C语言实现1.什么是图&#xff1f; 2.图的抽象数据结构 3.如何在程序中表示一个图&#xff1f; 3.1 邻接矩阵 …

张亚勤院士谈“智能计算新趋势”

来源&#xff1a;人工智能计算大会作为第四次工业革命的核心&#xff0c;人工智能已经成为全球新一轮科技革命和产业变革的核心驱动力。在2021人工智能计算大会&#xff08;AICC 2021&#xff09;上&#xff0c;清华大学智能科学讲席教授、美国艺术与科学院院士张亚勤带来了《智…

神经网络支持大脑是「预测机器」,预测是节能的

来源&#xff1a;ScienceAI编译&#xff1a;绿萝我们的大脑&#xff0c;一个包裹在骨性头骨内的三磅重的组织&#xff0c;如何从感觉中产生知觉是一个长期存在的谜。大量证据和数十年的持续研究表明&#xff0c;大脑不能像拼拼图一样&#xff0c;简单地组合感官信息来感知周围环…

元宇宙不是下一代互联网,而是人类群体思维空间或梦境世界的具现

前言&#xff1a;本文是根据6G俱乐部举办的6G与元宇宙研讨会上的发言整理形成作者&#xff1a;刘锋目前&#xff0c;业内有一种声音提出元宇宙是下一代互联网&#xff0c;之前WEB2.0、物联网、移动互联网和区块链爆发的时候也曾经这样表达过&#xff0c;如果从互联网的发展历史…

数据结构和算法——栈、队列、堆

文章目录1.预备知识1.1 栈1.2 队列1.3 堆2.用队列实现栈2.1 题目描述2.2 解题思路2.3 C实现3.用栈实现队列3.1 题目描述3.2 解题思路3.3 C实现4.最小栈4.1 题目描述4.2 解题思路5.合法的出栈序列5.1 题目描述5.2 解题思路5.3 C实现6.基本计算器6.1 题目描述6.2 解题思路7.数组中…

综述 | 北斗系统应用趋势分析

来源&#xff1a;智绘科服初审&#xff1a;张艳玲复审&#xff1a;宋启凡终审&#xff1a;金 君一、前言2020年6月23日&#xff0c;北斗三号最后一颗组网卫星成功发射。2020年7月31日&#xff0c;北斗三号建成暨开通仪式举行&#xff0c;北斗三号全球卫星导航系统正式开通[1]…

数据结构与算法——贪心算法

文章目录1.分发饼干1.1 题目描述1.2 解题思路1.3 C实现2.摆动序列2.1 题目描述2.2 解题思路2.3 C实现3.移掉K位数字3.1 题目描述3.2 解题思路3.3 C实现4.跳跃游戏4.1 题目描述4.2 解题思路4.3 C实现5.跳跃游戏 II5.1 题目描述5.2 解题思路5.3 C实现6.用最少数量的箭引爆气球6.1…

人为什么要睡觉?科学家给出进一步答案

来源&#xff1a;科技日报作者&#xff1a;张佳欣 人类一生中有三分之一的时间在睡觉&#xff0c;包括苍蝇、蠕虫甚至水母等无脊椎动物也会睡觉。在整个进化过程中&#xff0c;睡眠对所有具有神经系统的有机体来说都是普遍的&#xff0c;也是必不可少的。然而你有没有想过&…

操作系统——简介

文章目录1.操作系统的功能和目标1.1 作为用户和计算机硬件之间的接口1.2 作为系统资源的管理者1.3 作为最接近硬件的层次2.操作系统的概念、功能和目标3.操作系统的四大特征3.1 并发3.2 共享3.3 虚拟3.4 异步4.操作系统的运行机制4.1 两种指令4.2 两种处理器状态4.3 两种程序5.…

Andrew Gelman、Aki Vehtari​ | 过去50年最重要的统计学思想是什么?

来源&#xff1a; 数据分析网作者 &#xff1a;Andrew Gelman 美国统计学家、哥伦比亚大学统计学教授Aki Vehtari 阿尔托大学计算机科学系副教授近日&#xff0c;图灵奖得主、“贝叶斯网络之父”Judea Pearl在Twitter上分享了一篇新论文“What are the most important statis…

全局唯一ID的生成

数据在分片时&#xff0c;典型的是分库分表&#xff0c;就有一个全局ID生成的问题。单纯的生成全局ID并不是什么难题&#xff0c;但是生成的ID通常要满足分片的一些要求&#xff1a; 1 不能有单点故障。 2 以时间为序&#xff0c;或者ID里包含时间。这样一是可以少一个索引…

操作系统——进程

文章目录1.进程的定义2.进程的组成3.PCB4.进程的状态4.1 进程的五种状态4.2 进程状态间的转换5.进程控制6.进程通信6.1 共享存储6.2 管道通信6.3 消息传递7.线程7.1 线程的概念7.2 引入线程后的变化7.3 线程的属性7.4 线程的实现方式7.4.1 用户级线程7.4.2 内核级线程7.4.3 混合…

10分钟了解图卷积神经网络的常用算法和发展方向

来源&#xff1a;数学算法俱乐部近几年&#xff0c;机器学习在各个领域井喷式发展&#xff0c;现已成为当下最热门的技术。掌握机器学习&#xff0c;你就比 80% 的人更具备竞争优势。谷歌的无人驾驶、抖音的推荐系统、百度的人脸识别、大疆的无人机、科大讯飞的语音识别、小米的…

操作系统——调度

文章目录1.调度的概念2.调度的三个层次2.1 高级调度2.2 中级调度2.3 低级调度2.4 三种调度之间的关联1.调度的概念 2.调度的三个层次 2.1 高级调度 2.2 中级调度 2.3 低级调度 2.4 三种调度之间的关联

诺奖得主被曝40多篇论文造假!

来源&#xff1a;科研城邦截止2021年11月6日&#xff0c;Gregg L. Semenza教授针对其在Pubpeer被挂的52篇论文&#xff0c;进行了至少6篇文章的纠正&#xff0c;且撤回了1篇文章。离谱的是&#xff0c;这位美国约翰霍普金斯大学教授&#xff0c;正是2019年诺贝尔生理学或医学奖…

操作系统——死锁

文章目录1.死锁的概念2.死锁产生的必要条件3.什么时候会发生死锁4.死锁的处理策略4.1 预防死锁4.1.1 破坏互斥条件4.1.2 破坏不剥夺条件4.1.3 破坏请求和保持条件4.1.4 破坏循环等待条件4.2 避免死锁4.2.1 安全序列4.2.2 银行家算法1.死锁的概念 2.死锁产生的必要条件 3.什么时…

苏联的三进制电脑,为什么被二进制干掉了?

来源&#xff1a;差评 当我们在电脑上打开一个软件&#xff0c;看一部电影&#xff0c;听一首歌的时候&#xff0c;我们很难想象&#xff0c;这些东西都是由 0 和 1 这样的二进制数字组成的。但你有没有好奇过&#xff1f;为什么计算机要用二进制呢&#xff1f;难道是因为它效…

linux标准I/O——标准I/O介绍

文章目录1.文件的相关概念1.1 什么是文件1.2 文件类型2.标准I/O概念2.1 什么是标准I/O2.2 FILE和流2.3 流的缓冲类型2.4 stdin&#xff0c;stdout和stderr1.文件的相关概念 1.1 什么是文件 \qquad一组相关数据的有序集合 1.2 文件类型 文件类型表示举例常规文件r文本文件、二…

70页论文,图灵奖得主Yoshua Bengio一作:「生成流网络」拓展深度学习领域

来源&#xff1a;机器学习研究组订阅GFlowNet 会成为新的深度学习技术吗&#xff1f;近日&#xff0c;一篇名为《GFlowNet Foundations》的论文引发了人们的关注&#xff0c;这是一篇图灵奖得主 Yoshua Bengio 一作的新研究&#xff0c;论文长达 70 页。在 Geoffrey Hinton 的「…