#include <iostream>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
string one = "(1+(";
string two = "(1+1)";
string mult = "*";
string three = "(1+1+1)";
string close = ")";
string result = "";
string closing = "";
int t, k, opening, prev, num;
cin >> t;
for(int i=0; i<t; i++){
cin >> k;
opening = 0;
num = 0;
result = "";
prev = 0;
if(k == 1) {
cout << "1\n";
continue;
}
while(k>1 && num<=100) {
if(k%3 == 0) {
num += 3;
k /= 3;
if(prev == 2 || prev == 3)
result += mult;
result += three;
prev = 3;
}
else if(k%2 == 0){
num += 2;
k /= 2;
if(prev == 2 || prev == 3)
result += mult;
result += two;
prev = 2;
}
else {
k--;
num++;
opening += 2;
if(prev == 2 || prev == 3)
result += mult;
result += one;
prev = 1;
}
}
if(k > 1 || num > 100) {
cout << "NIE\n";
continue;
}
cout << result;
closing = "";
for(int z=0; z<opening; z++) {
closing += close;
}
cout << closing << '\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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | #include <iostream> using namespace std; int main() { ios_base::sync_with_stdio(false); string one = "(1+("; string two = "(1+1)"; string mult = "*"; string three = "(1+1+1)"; string close = ")"; string result = ""; string closing = ""; int t, k, opening, prev, num; cin >> t; for(int i=0; i<t; i++){ cin >> k; opening = 0; num = 0; result = ""; prev = 0; if(k == 1) { cout << "1\n"; continue; } while(k>1 && num<=100) { if(k%3 == 0) { num += 3; k /= 3; if(prev == 2 || prev == 3) result += mult; result += three; prev = 3; } else if(k%2 == 0){ num += 2; k /= 2; if(prev == 2 || prev == 3) result += mult; result += two; prev = 2; } else { k--; num++; opening += 2; if(prev == 2 || prev == 3) result += mult; result += one; prev = 1; } } if(k > 1 || num > 100) { cout << "NIE\n"; continue; } cout << result; closing = ""; for(int z=0; z<opening; z++) { closing += close; } cout << closing << '\n'; } return 0; } |
English