// Michał Wiatrowski
#include <iostream>
#include <functional>
using namespace std;
int main() {
int t;
cin >> t;
function<void(int)> cout_expression;
cout_expression = [&cout_expression](int k) {
if (k == 1) {
cout << "1";
return;
} else if (k == 2) {
cout << "1+1";
return;
}
if (k % 2 == 0) {
cout << "(1+1)*(";
cout_expression(k / 2);
cout << ")";
} else {
cout << "1+(";
cout_expression(k - 1);
cout << ")";
}
};
for (int test_case = 1; test_case <= t; ++test_case) {
int k;
cin >> k;
cout_expression(k);
cout << 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 32 33 34 35 36 37 38 39 | // Michał Wiatrowski #include <iostream> #include <functional> using namespace std; int main() { int t; cin >> t; function<void(int)> cout_expression; cout_expression = [&cout_expression](int k) { if (k == 1) { cout << "1"; return; } else if (k == 2) { cout << "1+1"; return; } if (k % 2 == 0) { cout << "(1+1)*("; cout_expression(k / 2); cout << ")"; } else { cout << "1+("; cout_expression(k - 1); cout << ")"; } }; for (int test_case = 1; test_case <= t; ++test_case) { int k; cin >> k; cout_expression(k); cout << endl; } } |
English