#include <iostream> #include <vector> #include <string> using namespace std; vector <int> dec_to_bin(long long a) { vector <int> liczba; while (a > 0){ liczba.push_back(a % 2); a/=2; } return liczba; } int main() { ios_base::sync_with_stdio(0); int n; cin >> n; for (int i = 0; i < n; i++){ long long a; cin >> a; vector <int> bin_a = dec_to_bin(a); //for (int k = 0; k < bin_a.size(); k++) cout << bin_a[k]; //cout << endl; int suma_cyfr = 0; for (int k = 0; k < bin_a.size(); k++) suma_cyfr+=bin_a[k]; if (2 * (bin_a.size()-1) + suma_cyfr - 1 <= 100){ if (a > 2){ string wynik; wynik = "(1+1)"; if (bin_a[bin_a.size()-2] == 1) wynik = wynik + "+1"; for (int k = bin_a.size() - 3; k >= 0; k--){ if (bin_a[k+1] == 1){ if (bin_a[k] == 1) wynik = "(1+1)*(" + wynik + ")+1"; else wynik = "(1+1)*(" + wynik + ")"; } else{ if (bin_a[k] == 1) wynik = "(1+1)*" + wynik + "+1"; else wynik = "(1+1)*" + wynik; } } cout << wynik; } else if (a == 1) cout << "1"; else cout << "1+1"; } else cout << "NIE"; cout << 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | #include <iostream> #include <vector> #include <string> using namespace std; vector <int> dec_to_bin(long long a) { vector <int> liczba; while (a > 0){ liczba.push_back(a % 2); a/=2; } return liczba; } int main() { ios_base::sync_with_stdio(0); int n; cin >> n; for (int i = 0; i < n; i++){ long long a; cin >> a; vector <int> bin_a = dec_to_bin(a); //for (int k = 0; k < bin_a.size(); k++) cout << bin_a[k]; //cout << endl; int suma_cyfr = 0; for (int k = 0; k < bin_a.size(); k++) suma_cyfr+=bin_a[k]; if (2 * (bin_a.size()-1) + suma_cyfr - 1 <= 100){ if (a > 2){ string wynik; wynik = "(1+1)"; if (bin_a[bin_a.size()-2] == 1) wynik = wynik + "+1"; for (int k = bin_a.size() - 3; k >= 0; k--){ if (bin_a[k+1] == 1){ if (bin_a[k] == 1) wynik = "(1+1)*(" + wynik + ")+1"; else wynik = "(1+1)*(" + wynik + ")"; } else{ if (bin_a[k] == 1) wynik = "(1+1)*" + wynik + "+1"; else wynik = "(1+1)*" + wynik; } } cout << wynik; } else if (a == 1) cout << "1"; else cout << "1+1"; } else cout << "NIE"; cout << endl; } return 0; } |