#include <iostream> int t; // 1..100 int n; // 1..10^9 const std::string a[4] = { "", "1", "1+1", "1+1+1" }; int size; int paren_count; int cyfra[30]; int main() { std::ios_base::sync_with_stdio(false); std::cin >> t; while (t--) { std::cin >> n; size = 0; paren_count = 0; while (n != 0) { cyfra[size++] = n % 3; n /= 3; } std::cout << a[cyfra[0]]; for (auto i = 1; i < size - 1; i++) { if (cyfra[i-1] != 0) std::cout << "+"; std::cout << "(" << a[3] << ")*"; if (cyfra[i] != 0) { std::cout << "(" << a[cyfra[i]]; paren_count++; } } if (size > 1) { if (cyfra[size - 2] != 0) std::cout << "+"; std::cout << "(" << a[3] << ")"; if (cyfra[size - 1] == 2) std::cout << "*(" << a[cyfra[size - 1]] << ")"; } for (auto i = 0; i < paren_count; i++) std::cout << ")"; std::cout << "\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 47 48 49 50 51 52 | #include <iostream> int t; // 1..100 int n; // 1..10^9 const std::string a[4] = { "", "1", "1+1", "1+1+1" }; int size; int paren_count; int cyfra[30]; int main() { std::ios_base::sync_with_stdio(false); std::cin >> t; while (t--) { std::cin >> n; size = 0; paren_count = 0; while (n != 0) { cyfra[size++] = n % 3; n /= 3; } std::cout << a[cyfra[0]]; for (auto i = 1; i < size - 1; i++) { if (cyfra[i-1] != 0) std::cout << "+"; std::cout << "(" << a[3] << ")*"; if (cyfra[i] != 0) { std::cout << "(" << a[cyfra[i]]; paren_count++; } } if (size > 1) { if (cyfra[size - 2] != 0) std::cout << "+"; std::cout << "(" << a[3] << ")"; if (cyfra[size - 1] == 2) std::cout << "*(" << a[cyfra[size - 1]] << ")"; } for (auto i = 0; i < paren_count; i++) std::cout << ")"; std::cout << "\n"; } } |