NOIP2009 多项式输出

[NOIP2009]多项式输出

https://ac.nowcoder.com/acm/problem/16622

模拟

可以分三部分处理:

1、先处理符号,系数小于0输出'-',系数大于0且不是最高项输出'+';

2、其次处理项的系数,当系数绝对值非1或为常数项时直接输出该系数的绝对值;

3、最后处理项,非常数项输出'x',次数大于1的项输出'^'和次数。

(或者分四种情况,第n项,第1项,常数项,其它项,但这种方法写起来可能比较繁琐,比如说第n项情况里要考虑n是不是为0或1,如果是的话就只输出常数或系数+'x'...)

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int num,n;
    cin>>n;
    for(int i = n;i >= 0;i--){
        cin>>num;
        if(!num) continue;
        
        //先处理符号
        if(num < 0) cout<<"-";
        else if(i != n) cout<<"+";
        
        //再处理项的系数
        if(abs(num) != 1 || i == 0) cout<<abs(num);

        //最后处理项
        if(i > 0) cout<<"x";
        if(i > 1) cout<<"^"<<i;
    }
    return 0;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 14:08
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-03 18:22
投了几百份简历,专业和方向完全对口,都已读不回。尝试改了一下学校,果然有奇效。
steelhead:这不是很正常嘛,BOSS好的是即便是你学院本可能都会和聊几句,牛客上学院本机会很少了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 11:16
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务