提交时间:2024-08-20 23:13:14
运行 ID: 173662
#include<bits/stdc++.h> using namespace std; int n; void dfs(int s){ for(int i=log2(s)+1;i>=0;i--){ if(s>=pow(2,i)) { if(i==2){ cout<<"2(2)"; } else if(i==1){ cout<<"2"; } else if(i==0){ cout<<"2(0)"; } else{ cout<<"2("; dfs(log2(s)); cout<<")"; } s-=pow(2,i); if(s!=0){ cout<<"+"; } } } } int main() { cin>>n; if (n<=20000) dfs(n); return 0; }