90分求助
查看原帖
90分求助
209561
FCB_1899楼主2021/2/7 08:30
#include<iostream>
#include<algorithm>
using namespace std;

int main()
{
    int m;
    int p[100];
    p[0]=1;
    for(int i=1;;i++)
    {
        p[i]=2*p[i-1];
        if(p[i]*2>100000000) break;
    }
    cin>>m;
    int x[100],n=0;
    for(int i=0;m>0;i++)
    {
        x[++n]=min(p[i],m);
        m-=p[i];
    //    cout<<x[n]<<' '<<p[i]<<' '<<m<<endl;
    }
    cout<<n<<endl;
    for(int i=1;i<=n;i++)
        for(int j=i+1;j<=n;j++)
            if(x[i]==x[j])
            {
                x[i]--;
                x[j]++;
            }
    sort(x+1,x+n+1);
    for(int i=1;i<=n;i++)
        cout<<x[i]<<' ';
    return 0;
}

实在调不出来了,请dalao们帮忙查错,怀疑是被某些毒瘤用例卡掉了

2021/2/7 08:30
加载中...