#include<bits/stdc++.h>
using namespace std;
int t, q, wykladnik, suma, licznik;
vector<int>Q;
int main()
{
scanf("%d", &t);
for(int w=0; w<t; w++){
wykladnik=0;
suma=0;
licznik=0;
scanf("%d", &q);
while(q){
if(q&1) Q.push_back(wykladnik);
q>>=1;
wykladnik++;
}
for(int i=0; i<Q.size(); i++){
if(Q[i]==0) suma++;
suma+=Q[i]*2;
}
if(suma>100){
printf("NIE\n");
break;
}
for(int i=0; i<Q.size(); i++){
licznik+=Q[i]*2;
if(Q[i]==0) licznik++;
if(Q[i]==0 && licznik<suma){
printf("1+");
}
if(Q[i]==0 && licznik==suma){
printf("1\n");
break;
}
if(Q[i]!=0){
for(int j=1; j<=Q[i]; j++){
if(j==Q[i]){
if(licznik==suma){
printf("(1+1)\n");
break;
}
else
printf("(1+1)+");
}
else printf("(1+1)*");
}
}
}
Q.clear();
}
}
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<bits/stdc++.h> using namespace std; int t, q, wykladnik, suma, licznik; vector<int>Q; int main() { scanf("%d", &t); for(int w=0; w<t; w++){ wykladnik=0; suma=0; licznik=0; scanf("%d", &q); while(q){ if(q&1) Q.push_back(wykladnik); q>>=1; wykladnik++; } for(int i=0; i<Q.size(); i++){ if(Q[i]==0) suma++; suma+=Q[i]*2; } if(suma>100){ printf("NIE\n"); break; } for(int i=0; i<Q.size(); i++){ licznik+=Q[i]*2; if(Q[i]==0) licznik++; if(Q[i]==0 && licznik<suma){ printf("1+"); } if(Q[i]==0 && licznik==suma){ printf("1\n"); break; } if(Q[i]!=0){ for(int j=1; j<=Q[i]; j++){ if(j==Q[i]){ if(licznik==suma){ printf("(1+1)\n"); break; } else printf("(1+1)+"); } else printf("(1+1)*"); } } } Q.clear(); } } |
English