//
// main.cpp
// JED
//
// Created by Faustyna Krawiec on 23/11/2016.
// Copyright © 2016 Faustyna Krawiec. All rights reserved.
//
#include <iostream>
#include <vector>
using namespace std;
int ones(int n, vector<int> &tab){
int ctr=0,i=2;
if(n%2){
ctr++;
tab.push_back(1);
}
n/=2;
while(n){
if(n%2){
ctr+=i;
tab.push_back(i);
}
i+=2;
n/=2;
}
// cout << ctr << endl;
return ctr;
}
int main(int argc, const char * argv[]) {
cin.sync_with_stdio(false);
int tests; cin >> tests;
while(tests--){
int n; cin >> n;
if(n==1){
cout << '1' << endl;
continue;
}
vector<int> tab;
if(ones(n, tab)>100 ){
cout << "NIE" << endl;
continue;
}
int i=0;
if(tab[0]==1){
cout << "1+" ;
i=1;
}
for(;i<tab.size()-1;i++){
cout << "(1+1)";
for(int j=2;j<tab[i];j+=2)
cout << "*(1+1)";
cout << '+';
}
cout << "(1+1)";
for(int j=2;j<tab[tab.size()-1];j+=2)
cout << "*(1+1)";
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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | // // main.cpp // JED // // Created by Faustyna Krawiec on 23/11/2016. // Copyright © 2016 Faustyna Krawiec. All rights reserved. // #include <iostream> #include <vector> using namespace std; int ones(int n, vector<int> &tab){ int ctr=0,i=2; if(n%2){ ctr++; tab.push_back(1); } n/=2; while(n){ if(n%2){ ctr+=i; tab.push_back(i); } i+=2; n/=2; } // cout << ctr << endl; return ctr; } int main(int argc, const char * argv[]) { cin.sync_with_stdio(false); int tests; cin >> tests; while(tests--){ int n; cin >> n; if(n==1){ cout << '1' << endl; continue; } vector<int> tab; if(ones(n, tab)>100 ){ cout << "NIE" << endl; continue; } int i=0; if(tab[0]==1){ cout << "1+" ; i=1; } for(;i<tab.size()-1;i++){ cout << "(1+1)"; for(int j=2;j<tab[i];j+=2) cout << "*(1+1)"; cout << '+'; } cout << "(1+1)"; for(int j=2;j<tab[tab.size()-1];j+=2) cout << "*(1+1)"; cout << endl; } return 0; } |
English