#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"; } } |
English