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