// For speed #include <cstdio> void print_one_expr(int n) { int brackets_open = 0; // One while(n > 2) { // Even if((n & 1) == 0) { printf("(1+1)*("); ++brackets_open; n >>= 1; } // Odd else { printf("1+"); --n; } } // One if (n == 1) { printf("1"); } // Two else { printf("1+1"); } // Close all opened brackets while(brackets_open-- > 0) { printf(")"); } printf("\n"); } int main() { int t; int n; std::scanf("%d", &t); while(t-- > 0) { std::scanf("%d", &n); print_one_expr(n); } }
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 | // For speed #include <cstdio> void print_one_expr(int n) { int brackets_open = 0; // One while(n > 2) { // Even if((n & 1) == 0) { printf("(1+1)*("); ++brackets_open; n >>= 1; } // Odd else { printf("1+"); --n; } } // One if (n == 1) { printf("1"); } // Two else { printf("1+1"); } // Close all opened brackets while(brackets_open-- > 0) { printf(")"); } printf("\n"); } int main() { int t; int n; std::scanf("%d", &t); while(t-- > 0) { std::scanf("%d", &n); print_one_expr(n); } } |