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

NOIP2009年普及组T1 多项式输出

亿万年的星光5年前 (2021-01-28)复赛2459

【题目描述】

一元 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”并结束,否则结束;


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

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

    分享给朋友:

    相关文章

    NOIP2008年普及组 T2 排座椅

    NOIP2008年普及组 T2 排座椅

    【问题描述】上课的时候总有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情。不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳。同学...

    NOIP2016年普及组 T2 回文日期

    【题目描述】日常生活中,通过年、月、日这三个要素可以表示出一个唯一确定的日期。牛牛习惯用8位数字表示一个日期,其中,前4位代表年份,接下来2位代表月份,最后2位代表日期。显然:一个日期只有一种表示方法...

    NOIP2013年普及组T2 表达式求值

    【题目描述】给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值。【输入描述】输入仅有一行,为需要你计算的表达式,表达式中只包含数字、加法运算符“+”和乘法运算符“∗”,且没有括号,所有参与运...

    noiLinux中编程工具的使用

    noiLinux中编程工具的使用

    0.前言NOIP考试中,最终的程序要在noilinux中运行,以noilinux为准,但是有些省份做题基本就是DEVC++,有些细微的差别如果老师没讲过非常容易在考试中爆零。1.编程工具的选择关于no...

    NOIP2014年普及组 T2 比例简化

    【题目描述】在社交媒体上,经常会看到针对某一个观点同意与否的民意调查以及结果。例如,对某一观点表示支持的有 1498 人,反对的有 902 人,那么赞同与反对的比例可以简单的记为1498:902。不过...

    NOIP2003年普及组 T1 乒乓球

    【题目描述】国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中11分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。华华就是其中一位,他退...