题目描述
任何一个正整数都可以用2的幂次方表示。例如:$137 = 2^7 + 2^3 + 2^0$。同时约定方次用括号来表示,即 $a^b$ 可表示为 $a(b)$。由此可知,$137$可表示为:$$2(7)+2(3)+2(0)$$。
进一步,$7 = 2^2 + 2 + 2^0$($2^1$用$2$表示),$3 = 2 + 2^0$。
所以最后$137$可以被表示为:$$2(2(2)+2+2(0))+2(2+2(0))+2(0)$$
又如:$1315 = 2^{10} + 2^8 + 2^5 + 2 + 1$
所以,$1315$最后可表示为:$$2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)$$
输入格式
此题有多组数据。
第一行,一个正整数 $T(1 \le T \le 20000)$,表示数据组数。
接下来 $T$ 行,每行一个正整数$n(n<=20000)$。
输出格式
一共 $T$ 行
每行输出符合约定的$n$的2的幂次方表示(在表示中不能有空格)。
样例输出 #1
2(2(2)+2+2(0))+2(2+2(0))+2(0)
提示
此题推荐使用C++的 `string` 类型使用加法进行字符串的拼接,这样比较方便