#include<bits/stdc++.h> using namespace std; bitset<33> bits; string a="*(1+1)+1)"; string b="*(1+1))"; int main(){ int t; scanf("%d",&t); for(int i=0;i<t;i++){ int tmp; scanf("%d",&tmp); int it=0; while(tmp){ bits[it]=(tmp%2); tmp/=2; it++; } bits[it]=0; string s="1"; for(int j=it-2;j>=0;j--){ if(bits[j]){ s="("+s+a; }else{ s="("+s+b; } } cout<<s<<endl; } }
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 | #include<bits/stdc++.h> using namespace std; bitset<33> bits; string a="*(1+1)+1)"; string b="*(1+1))"; int main(){ int t; scanf("%d",&t); for(int i=0;i<t;i++){ int tmp; scanf("%d",&tmp); int it=0; while(tmp){ bits[it]=(tmp%2); tmp/=2; it++; } bits[it]=0; string s="1"; for(int j=it-2;j>=0;j--){ if(bits[j]){ s="("+s+a; }else{ s="("+s+b; } } cout<<s<<endl; } } |