经典简约
清爽简洁,回归本真
液态水晶
毛玻璃+霓虹光带
赛博朋克
霓虹故障艺术风
🚫
违规操作检测
禁止使用右键菜单
⚠️ 此操作已被系统记录
1

【START】2015暑期训练——2的次幂表示

📝 题解 🔵 仅限 C++
题目描述
<p>任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001。<br /> 将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面,可得到如下表达式:137=2^7+2^3+2^0<br /> 现在约定幂次用括号来表示,即a^b表示为a(b)<br /> 此时,137可表示为:2(7)+2(3)+2(0)<br /> 进一步:7=2^2+2+2^0 (2^1用2表示)<br /> 3=2+2^0 <br /> 所以最后137可表示为:2(2(2)+2+2(0))+2(2+2(0))+2(0)<br /> 又如:1315=2^10+2^8+2^5+2+1<br /> 所以1315最后可表示为:<br /> 2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)</p> <p></p>
输入格式
<p>输入第一行是一个整数M(0&lt;M&lt;=100),代表测试数据组数</p> <p>接下来M行每行一个正整数(1&lt;=n&lt;=20000)</p> <p></p>
输出格式
<p>针对每个输入,输出符合约定的n的0,2表示(在表示中不能有空格),以换行符结束。</p> <p></p>
样例
样例输入 1
2 137 1315
样例输出 1
2(2(2)+2+2(0))+2(2+2(0))+2(0) 2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)
提交代码
请先登录后提交

🤖 AI 解题助手

OpenRouter
就绪
👋 你好!我是 AI 解题助手。
我已阅读了这道题,可以帮你分析思路、提供代码示例。
🔓 完全免费 · 无需消耗 Token