#include<iostream> #include<vector> using namespace std; vector<int>tab; void roz(int x){ while(x){ if(x%2==0) tab.push_back(0); else tab.push_back(1); x/=2; } } int main(){ int n,t; cin >> t; for(int j=0;j<t;j++){ cin >> n; if(n<4){ if(n==1) cout << "1\n"; if(n==2) cout << "1+1\n"; if(n==3) cout << "1+1+1\n"; continue; } tab.clear(); cout << "1*("; roz(n); for(int i=2;i<tab.size();i++){ cout << "(1+1)*("; } if(tab[tab.size()-2]==1) cout << "(1+1)"; else cout << "1+1"; for(int i=tab.size()-2;i>=0;i--){ if(tab[i]==1) cout << "+1)"; else cout << ")"; } cout << "\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 | #include<iostream> #include<vector> using namespace std; vector<int>tab; void roz(int x){ while(x){ if(x%2==0) tab.push_back(0); else tab.push_back(1); x/=2; } } int main(){ int n,t; cin >> t; for(int j=0;j<t;j++){ cin >> n; if(n<4){ if(n==1) cout << "1\n"; if(n==2) cout << "1+1\n"; if(n==3) cout << "1+1+1\n"; continue; } tab.clear(); cout << "1*("; roz(n); for(int i=2;i<tab.size();i++){ cout << "(1+1)*("; } if(tab[tab.size()-2]==1) cout << "(1+1)"; else cout << "1+1"; for(int i=tab.size()-2;i>=0;i--){ if(tab[i]==1) cout << "+1)"; else cout << ")"; } cout << "\n"; } return 0; } |