zoukankan      html  css  js  c++  java
  • 爆搜。。。。。。。

    题目:

    给你一个整数N和长度L, 现在要求你找X个连续的非负整数,使得它们的和是N,  同时要满足 X  >= L, 你的任务是使得X最小,输出这连续的X个整数。如果找不到这样的连续整数或者能找到但X > 100, 那么你输出-1。 也就是能找到满足题意的连续整数,且X < =100时,才输出这连续的X个非负整数。


    超时:

    #include<iostream>
    #include<algorithm>
    using namespace std;
    const int maxn=2333;
    long long n,l,x,c,shu=0;
    int main()
    {
        cin>>n>>l;
        for(int i=1;;i++)
        {
            if(((i*2+l)*(l+1))/2>n)
                break;
            for(int j=l;j<=100;j++)
            {   
                if(((i*2+100)*(101))/2<n)
                    break;
                if(((i*2+j)*(j+1))/2==n)
                {
                    shu++;
                    x=i;
                    c=j+1;
                    break;
                }
                if(((i*2+j)*(j+1))/2>n)
                {
                    break;
                }
            }
        }

        if((shu==0))
            cout<<"-1"<<endl;
        else
        {
            for(int i=x;i<=c+x-1;i++)
                cout<<i<<endl;
        }
        return 0;
    }



    ACCEPTED:

    #include<iostream>
    #include<algorithm>
    using namespace std;
    int n,l,t=0,sum;
    void work()
    {
        for (int i=l;i<=100;i++)
        {
            sum=n;
            sum*=2;
            if ((sum%i==0)&&((sum/i-i+1)%2==0))
            {
                sum=(sum/i-i+1)/2;
                t=i;
                break;
            }
        }

    }
    int main()
    {
        cin>>n>>l;
        work();
        if (t==0) cout<<"-1"<<endl;
        else for (int i=sum;i<=sum+t-1;i++)
                cout<<i<<endl;
        return 0;
    }



  • 相关阅读:
    原型与原型链
    数据类型与计算
    JavaScript实现版本号比较
    vue依赖
    vue
    面试经验
    第十一节课 课堂总结
    第十一次作业
    第十课课堂总结
    第十次作业
  • 原文地址:https://www.cnblogs.com/zyker/p/5879209.html
Copyright © 2011-2022 走看看