#include<bits/stdc++.h>
#define pb push_back
#define mp make_pair
#define f first
#define s second
using namespace std;
int tab[35];
int main()
{
int t;
scanf("%d",&t);
for(int i=1; i<=t; i++)
{
int k,ile=0;
scanf("%d",&k);
if(k==1)
printf("1\n");
else
{
while(k!=0)
{
ile++;
if(k%2==0)
tab[ile]=false;
else
tab[ile]=true;
k/=2;
}
int liczba=1;
/*for(int a=1; a<=ile; a++)
cout << tab[a] << " ";
cout << endl;*/
if(tab[1])
printf("1+");
int c=2;
while(!tab[c])
c++;
printf("(1+1)");
for(int b=3; b<=c; b++)
printf("*(1+1)");
int ilosc=0;
for(int a=c+1; a<=ile; a++)
{
if(tab[a])
{
printf("*(1+(1+1)");
for(int b=2; b<=liczba; b++)
{
printf("*(1+1)");
}
liczba=1;
ilosc++;
}
else
{
liczba++;
}
}
for(int a=1; a<=ilosc; a++)
printf(")");
printf("\n");
}
}
}
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 64 65 66 67 68 69 70 71 72 73 74 75 | #include<bits/stdc++.h> #define pb push_back #define mp make_pair #define f first #define s second using namespace std; int tab[35]; int main() { int t; scanf("%d",&t); for(int i=1; i<=t; i++) { int k,ile=0; scanf("%d",&k); if(k==1) printf("1\n"); else { while(k!=0) { ile++; if(k%2==0) tab[ile]=false; else tab[ile]=true; k/=2; } int liczba=1; /*for(int a=1; a<=ile; a++) cout << tab[a] << " "; cout << endl;*/ if(tab[1]) printf("1+"); int c=2; while(!tab[c]) c++; printf("(1+1)"); for(int b=3; b<=c; b++) printf("*(1+1)"); int ilosc=0; for(int a=c+1; a<=ile; a++) { if(tab[a]) { printf("*(1+(1+1)"); for(int b=2; b<=liczba; b++) { printf("*(1+1)"); } liczba=1; ilosc++; } else { liczba++; } } for(int a=1; a<=ilosc; a++) printf(")"); printf("\n"); } } } |
English