#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(); } } |