zoukankan      html  css  js  c++  java
  • 洛谷P1067 多项式输出 NOIP 2009 普及组 第一题

    洛谷P1067 多项式输出 NOIP 2009 普及组 第一题

    题目描述

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

    输入输出格式

    输入格式

    输入共有 2 行

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

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

    输出格式

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

    输入输出样例

    输入样例#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%数据,1000≤n≤100,−100≤系数≤100


    解!

    这道题,简直是我的耻辱!

    花了两节课才做出来!(借口:U盘忘带了。。。)

    好了好了,平复一下。。。

    很简单的!

    理清思路 

    就是有几个重点要罗列出来嘛。。。

    一、最高位正号不输出

    二、其它位无论是正号还是负号都要输出

    三、系数为0,跳过

    四、系数为1,不输出系数

    五、常数项即使为1,只要不是0就要输出

    再进行“排序”

    这些限制条件那些更为优先?

    首先

      系数为0,直接跳过

    第二

      最高位正号不输出

    第三

      


    #include<iostream>
    #include<cmath>
    using namespace std;
    int k[102];
    int main(){
        int n,flag=1;
        cin>>n;
        for(int i=n;i>=0;--i){
            cin>>k[i];
            if(k[i]==0) continue;
            if(i==0) {
                if(k[i]>0) cout<<"+"<<k[i];
                if(k[i]<0) cout<<k[i];
                continue;
            } 
            if(flag){//最高次 
                flag=0;
                if(k[i]==1||k[i]==-1) {
                    if(k[i]==1) cout<<"";
                    if(k[i]==-1) cout<<"-";
                }
                else{
                    cout<<k[i];
                }            
            }
            else{//不是最高次 
                if(k[i]==1||k[i]==-1) {
                    if(k[i]==1) cout<<"+";
                    if(k[i]==-1) cout<<"-";
                }
                else{
                    if(k[i]>0) cout<<"+"<<abs(k[i]);
                    if(k[i]<0) cout<<"-"<<abs(k[i]);
                }        
            }
            
            if(i==1) cout<<"x";
            if(i>1) cout<<"x^"<<i;
        }
        
        
        
        
        return 0;
    }
  • 相关阅读:
    log4net项目中如何配置,以下详解
    对sql进行分页处理(Oracle版)
    Xcode 默认 字体
    iOS tableView seperator 消失问题
    iOS 解决自定义TabBar使用popToRootViewControllerAnimated重叠问题
    Xcode 代码块
    iOS绘制虚线
    iOS 使用系统相册获取选取图片的名称
    iOS 设置导航栏和状态栏为透明黑色
    iOS textfield设置字符间距
  • 原文地址:https://www.cnblogs.com/send-off-a-friend/p/11158880.html
Copyright © 2011-2022 走看看