谁能帮我解释一下题目要求的输出是怎么样的啊
我的样例输出:2(10)+2(8)+2(5)+2(2)+2+2(0)
代码:
#include<iostream>
#include<math.h>
using namespace std;
int ans[1000000];
int m2(int n){
for(int i=1;;i++){
if(pow(2,i)>n) return i-1;
}
}
int main(){
int n,sum=0;
cin>>n;
for(;n!=0;){
int a=m2(n);
ans[sum]=a;
sum++;
n-=pow(2,a);
}
for(int i=0;i<sum;i++){
cout<<2;
if(ans[i]!=1) cout<<'('<<ans[i]<<')';
if(i!=sum-1) cout<<'+';
}
return 0;
}