// 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; } } |