题面下载
求助谷友,调了调一直70分,甚至20分
70分代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
long long n,f=1,power=0;
cin>>n;
cout<<n<<"=";
while(pow(2,power)<n) power++;
if(pow(2,power)==n){
cout<<n;
return 0;
}
power--;
while(n&&power>=0){
int pow_2=pow(2,power);
if(n-pow_2>0){
n-=pow_2;
if(f==1) cout<<pow_2,f=0;
else cout<<"+"<<pow_2;
}
power--;
}
while(n){
if(f==1) cout<<1,f=0;
else cout<<"+1";
n-=1;
}
return 0;
}