#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; } |
English