当前位置:首页 > 复赛 > 正文内容

NOIP2009年普及组T1 多项式输出

亿万年的星光4年前 (2021-01-28)复赛1858

【题目描述】

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



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

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

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

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

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

如果xx 的指数为00,则仅需输出系数即可。

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

【分析】

这道题作为普及组的第一题难了点,有些点是比较坑的,主要问题就是需要分类讨论的东西太多了,考场上写一堆if判断,还不一定能全对。

第一项之前没有任何符号输出。

【参考代码1】


#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,a;
    cin>>n;
    for(int i=n;i>=0;i--){
        cin>>a;
        if(a){    判0系数
            if(i!=n&&a>0)cout<<"+";    根据正负、是否为最高此项决定加号
            if(abs(a)>1||i==0)cout<<a;    输出系数(系数不为正负1或指数为0)
            if(a==-1&&i)cout<<"-";    -1系数特判,常数项已特判
            if(i>1)cout<<"x^"<<i;    二次及以上输出指数
            if(i==1)cout<<"x";    一次项
        }
    }
}

此输出一项流程应该是这样 1.系数为0?结束,否则继续;

2.是开头第一项?跳转至(4),否则继续;

3.系数为正?输出加号并继续,否则继续;

4.系数是±1?继续,否则跳转至6;

5.是常数项(只有数字没有字母)?继续,否则跳转至7;

6.输出系数并继续;

7.系数是-1?继续,否则跳转至10;

8.是常数项?跳转至10,否则继续;

9.输出负号并继续;

10.指数>1?继续,否则跳转至12;

11.输出”x^指数”并继续;

12.指数=1?输出”x”并结束,否则结束;


扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

分享给朋友:

相关文章

NOIP2009年普及组 T2 分数线划定

【题目描述】世博会志愿者的选拔工作正在A市如火如荼的进行。为了选拔最合适的人才,A市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%划定,即如...

NOIP2010年普及组T2 接水问题

【题目描述】学校里有一个水房,水房里一共装有m 个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为1。现在有n 名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺...

NOIP2011年普及组T2 统计单词数

【题目描述】一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给...

NOIP/CSPJ 复赛中noilinux里的atbiter测评机的使用(附数据)

NOIP/CSPJ 复赛中noilinux里的atbiter测评机的使用(附数据)

0.前言最近这段时间在研究noilinux,NOI考试中的测评系统就在noilinux中,叫做atbiter。自己百度了一下,发现说的都比较官方,自己尝试了一遍,把过程和数据附上,以供参考。1.创建比...

NOIP2017普及组 T2图书管理员

【题目描述】图书馆中每本书都有一个图书编码,可以用于快速检索图书,这个图书编码是一个 正整数。 每位借书的读者手中有一个需求码,这个需求码也是一个正整数。如果一本书的图 书编码恰好以读者的需求码结尾,...

NOIP2014年普及组T1 珠心算测验

【题目描述】珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。某学校的珠心算老师采用一种快速考察珠心算加...