第一道题有一段意思相同的代码 但一个50分 一个100分 蒟蒻求救
#include<bits/stdc++.h>
#include<cstdio>
using namespace std;
long long n_,a_[30],gs_;
int main(){
//freopen("power.in","r",stdin);
//freopen("power.out","w",stdout);
cin>>n_;
if(n_%2==1){cout<<-1;return 0;}
a_[0]=1;
while(a_[gs_]<n_){
//a_[++gs_]=a_[gs_-1]*2;
gs_++,a_[gs_]=a_[gs_-1]*2;
}
while(n_){
if(n_>=a_[gs_]){
cout<<a_[gs_]<<" ";
n_-=a_[gs_];
}
else gs_--;
}
return 0;
}
就是第一个while里的代码出了问题
a_[++gs_]=a_[gs_-1]*2;
gs_++,a_[gs_]=a_[gs_-1]*2;
这两个意思不一样吗???