ZSC 1114 又见二进制 (递归)
来源:互联网 发布:unity3d ugui官方demo 编辑:程序博客网 时间:2024/06/12 01:15
Description
任何一个正整数都可以用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)
Input
输入一个整数n,其中0<=n<=20000
Output
符合约定的n的0,2表示(在表示中不能有空格)
Sample Input
1315
Sample Output
2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)
//#define Night_13#include <iostream>using namespace std;const int LEN = 32;void dfs(int n) { bool first = false; for (int i = 1; i <= LEN; ++i) { if (n < 0) { if (first) printf("+"); first = true; if (LEN - i == 1) { printf("2"); } else { printf("2("); if (LEN - i == 0) printf("0"); else dfs(LEN - i); printf(")"); } } n <<= 1; }}int main() {#ifdef Night_13 freopen("input.txt", "r", stdin);#endif int n; while (scanf("%d", &n) != EOF) { if (n == 0) printf("0\n"); else dfs(n); printf("\n"); } return 0;}
0 0
- ZSC 1114 又见二进制 (递归)
- 又见二进制(简单DFS)
- 振兴中华(又见递归搜索)
- 转换二进制(递归)
- ZSC oj 1538(DFS||暴力)
- ZSC 1115 Cantor表 (水题)
- ZSC 1526 独眼贝斯基 (KMP + 优化)
- 二进制转十进制(递归)
- 递归二进制
- 【递归】二进制
- HDU 2504 又见GCD【递归】
- ZSC 1142 走迷宫 (DFS + 路径打印)
- 十进制转换为二进制(递归)
- 位操作+递归 (十进制转为二进制)
- c十进制转化二进制(递归)
- (递归)十进制转换成二进制
- 又遇递归函数
- 递归转换二进制
- 手把手教你做开源项目MyMeiZi 一( RxJava + Retrofit)
- Exception in thread "main" java.lang.StackOverflowError!
- 用C语言将一个数开根号后再取倒数的方法
- ios-基础用法之【8】-pch文件配置
- 【JAVA】20、方法的定义
- ZSC 1114 又见二进制 (递归)
- RunLoop在项目中的应用
- Jenkins+RobotFramework持续集成测试-jenkins环境搭建
- leetcode-4-Median of Two Sorted Arrays
- 51单片机入门之七:按键检测
- 【机房重构】——视图
- 递增数组相同的存入一个数组里面,把最后的结果放到一个大数组里面
- 封装一个UI控件的范例
- 一个小工具完成对memcached/kt/mongodb/redis的性能监测