..

题目描述

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

f(x)=a_nx^n+a_{n-1}x^{n-1}+\cdots +a_1x+a_0,a_n\ne 0f(x)=an​xn+an−1​xn−1+⋯+a1​x+a0​,an​≠0

其中,a_ix^iai​xi称为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+1n−i+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 1000≤n≤100,-100 \le−100≤系数\le 100≤100

..

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

一开始以为很简单。后来从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

洛谷P1067 多项式输出相关推荐

  1. 洛谷 P1067 多项式输出

    题目 (Markdown编辑器复制这个修改太麻烦,索性直接粘贴网址了...) 网址如下: 洛谷 P1067 多项式输出 题解 这是个简单的模拟题,不算复杂.题目大意就是给你一个数 n ,以及 n + ...

  2. 洛谷--P1067 多项式输出

    题目描述 一元nn次多项式可用如下的表达式表示: 其中,a_ix^iai​xi称为ii次项,a_iai​ 称为ii次项的系数.给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式: ...

  3. 洛谷——P1067 多项式输出

    https://www.luogu.org/problem/show?pid=1067#sub 题目描述 一元 n 次多项式可用如下的表达式表示: 其中,aixi称为 i 次项,ai 称为 i 次项的 ...

  4. 洛谷1067 多项式输出 解题报告

    洛谷1067 多项式输出 本题地址: http://www.luogu.org/problem/show?pid=1067 题目描述 一元 n 次多项式可用如下的表达式表示: 其中,aixi称为 i ...

  5. P1067 多项式输出(模拟)

    题目链接 P1067 多项式输出 Luogu 应用 题库 训练 比赛 记录 讨论 21.2K 通过 74.5K 提交 题目提供者 CCF_NOI 评测方式 云端评测 标签 NOIp普及组2009 难度 ...

  6. 多项式输出(洛谷-P1067)

    题目描述 一元 n 次多项式可用如下的表达式表示: 其中,aixi称为 i 次项,ai 称为 i 次项的系数.给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式: 1. 多项式中 ...

  7. 【洛谷】P1067 多项式输出【模拟】

    https://www.luogu.org/problemnew/show/1067 题目: 题目描述 一元 n 次多项式可用如下的表达式表示: 其中,aixi称为 i 次项,ai 称为 i 次项的系 ...

  8. 打印多项式的那些坑(洛谷P1067题题解,Java语言描述)

    前言 我之前写过一篇有关解一元一次方程的那些坑的博客,那个题的细节还是比较多的,对于没经验的人呢,确实是各种WAWA大哭. 这里是多项式,按照格式打,看下去,让我们看看有哪些坑吧~~ (也是黄题,稍有 ...

  9. 【模拟】P1067 多项式输出

    https://www.luogu.com.cn/problem/P1067 考点:模拟.字符串 这是一道水题,水题能卡人往往是有某些数据没考虑到. 题意:输入系数,输出多项式. 解法: 需要把所有特 ...

最新文章

  1. Explore the Service Console
  2. Epox 8RDA3G主板奇怪的问题
  3. 8、clone使用和数组列表的copy
  4. string (KMP+期望DP)
  5. LeetCode 735. 行星碰撞(栈)
  6. Python ——模块
  7. [转]Eclipse工具使用技巧总结
  8. php yield 个人小解_PHP中的性能优化利器:生成器 yield 理解
  9. ACM题目推荐(刘汝佳书上出现的一些题目)
  10. PowerDNS Authoritative Server 3.3 发布
  11. 打造一款最强王者云笔记typora+坚果云+阿里云oss?
  12. 手动实现循环神经网络RNN,神经网络rnn是什么意思
  13. 【JZOJ 省选模拟】6638.Seat
  14. 影响一生的32步电影
  15. GBA的内存其实很大
  16. java.nio.channels.UnresolvedAddressException: null [运行storm-0.9.4集群时]
  17. 2021-10-02
  18. 校园跳蚤市场平台/校园二手交易平台管理系统
  19. 安科瑞ARD3M电动机保护器在红叶中的实际应用
  20. matlab 2ask解调程序,2ask调制解调系统matlab源程序.doc

热门文章

  1. trim的返回值php,php trim()函数
  2. 数据结构链表之单向链表:Python3 实现单向链表——1
  3. 读取外部配置文件_SpringBoot外部配置、优先级及配置详解
  4. python对文件的写操作方法writetext_用python实现读写文件常见操作方式
  5. LeetCode 996. 正方形数组的数目(回溯+剪枝)
  6. LeetCode 230. 二叉搜索树中第K小的元素(中序遍历)
  7. NumPy快速入门--形状操作
  8. POJ 3690 找星座(2D匹配)(未解答)
  9. 算法--二分查找--求平方根(循环法/递归法)
  10. 用python解决生活问题_Python解决生活问题之闹钟程序的实现