最容易理解的代码——只有2个AC
查看原帖
最容易理解的代码——只有2个AC
311230
AT1198_100楼主2020/11/8 16:56
#include<iostream>
#include<algorithm>
#include<cmath>
#include<algorithm>
using namespace std;
int main(){
    int n;
    cin>>n;
    int a[100000];
    for(int i=1;i<=n;i++){
        a[i]=pow(2,i);
    }
    int j=0;
    for(int i=1;i<=n;i++){
        if(a[i]<=n)j++;
        else{
            break;
        }
    }
    int ans=0;
    for(int i=1;i<=j;i++){
        ans+=a[i];
    }
    if(ans==n){
        for(int i=j;i>0;i--){
            cout<<a[i]<<" ";
            return 0;
        }
    }
    else{
        cout<<"-1";
        return 0;
    }
}

自造数据均过,诚心求代码错误

2020/11/8 16:56
加载中...