#include <iostream> using namespace std; long long d; string toOnesTwosPlusOne(long long k){ if (k == 1) return "1"; if (k == 2) return "(1+1)"; if (k % 2 == 1) { k--; return "(1+" + toOnesTwosPlusOne(k) + ")"; } else { k /= 2; return "(1+1)*" + toOnesTwosPlusOne(k); } } int main(){ int n; cin >> n; for (int l = 0; l < n; l++) { long long k; cin >> k; cout << toOnesTwosPlusOne(k) << endl; } return 0; }
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 | #include <iostream> using namespace std; long long d; string toOnesTwosPlusOne(long long k){ if (k == 1) return "1"; if (k == 2) return "(1+1)"; if (k % 2 == 1) { k--; return "(1+" + toOnesTwosPlusOne(k) + ")"; } else { k /= 2; return "(1+1)*" + toOnesTwosPlusOne(k); } } int main(){ int n; cin >> n; for (int l = 0; l < n; l++) { long long k; cin >> k; cout << toOnesTwosPlusOne(k) << endl; } return 0; } |