#include <bits/stdc++.h> using namespace std; string ans; int t, num; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin>>t; for (int i=0;i<t;i++){ cin>>num; if(num==1){ cout<<1<<'\n'; } else{ int w, w0=0; for(w=30;w>0;w--){ if ((num>>w)%2==1){ if (w0==0) w0=w; } } w=w0; if(w==1){ if(num%2==0){ cout<<"(1+1)*1"<<'\n'; } else{ cout<<"(1+1)*1+1"<<'\n'; } } else{ if ((num>>(w-1))%2==1){ ans="((1+1)+1)"; } else{ ans="(1+1)"; } for(int j=w-1;j>=1;j--){ ans="((1+1)*"+ans+")"; if ((num>>(j-1))%2==1){ ans="(1+"+ans+")"; } } cout<<ans<<'\n'; } } } return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | #include <bits/stdc++.h> using namespace std; string ans; int t, num; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin>>t; for (int i=0;i<t;i++){ cin>>num; if(num==1){ cout<<1<<'\n'; } else{ int w, w0=0; for(w=30;w>0;w--){ if ((num>>w)%2==1){ if (w0==0) w0=w; } } w=w0; if(w==1){ if(num%2==0){ cout<<"(1+1)*1"<<'\n'; } else{ cout<<"(1+1)*1+1"<<'\n'; } } else{ if ((num>>(w-1))%2==1){ ans="((1+1)+1)"; } else{ ans="(1+1)"; } for(int j=w-1;j>=1;j--){ ans="((1+1)*"+ans+")"; if ((num>>(j-1))%2==1){ ans="(1+"+ans+")"; } } cout<<ans<<'\n'; } } } return 0; } |