问题描述
  任何一个正整数都可以用2的幂次方表示。例如:
  137=27+23+20
  同时约定方次用括号来表示,即ab 可表示为a(b)。
  由此可知,137可表示为:
  2(7)+2(3)+2(0)
  进一步:7= 22+2+20 (21用2表示)
  3=2+20
  所以最后137可表示为:
  2(2(2)+2+2(0))+2(2+2(0))+2(0)
  又如:
  1315=210 +28 +25 +2+1
  所以1315最后可表示为:
  2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)

输入格式
  输入包含一个正整数N(N<=20000),为要求分解的整数。
输出格式
  程序输出包含一行字符串,为符合约定的n的0,2表示(在表示中不能有空格)

分析:递归

代码:

#include<iostream>
#include<cmath>
using namespace std;
int N;
void solve(int v) {
while(v) {
if(v == ) { printf(""); break; }
if(v == ) { printf("2(0)"); break; }
int i = ;
int a = ;
while(a <= v) {
a *= ;
i++;
}
printf("");
if(i != ) {
printf("(");
solve(i);
printf(")");
}
v -= pow(, i);
if(v) printf("+");
}
}
int main() {
cin >> N;
solve(N);
return ;
}

最新文章

  1. 数据库中老师学生家长表添加自动同意好友自动(AgreeAddingFriend ),默认为True
  2. JAVAWEB学习总结 HTTPSERVLETRESPONSE对象(二)
  3. win10突然不能使用usb大容量存储设备(移动硬盘)的解决方法
  4. Axios、Lodash、TweenJS
  5. html tr td colspan
  6. https_request
  7. openwrt time sycronize
  8. TodoList开发笔记 – PartⅠ
  9. 【bird-java】bird-java概述
  10. print,printf,println
  11. 【Linux基础】grep命令
  12. 「HGOI#2019.4.19省选模拟赛」赛后总结
  13. css3 二级菜单
  14. keepalived高可用系列~通用基础
  15. Windows文件共享自动失效解决办法
  16. 液晶电视插有线电视信号线的是哪个接口 HDMI是什么接口
  17. 免费桌面视频录像工具OBS的简单操作介绍
  18. Spring Cloud Netflix项目进入维护模式
  19. javac编译出来的程序运行报错“错误: 找不到或无法加载主类”
  20. python脚本5_求素数

热门文章

  1. switch to hexo !
  2. 20145334赵文豪《网络攻防》 MSF基础应用
  3. jQuery:ajax处理html页面
  4. 【第十一章】 springboot + mongodb(简单查询)
  5. Java中ArrayList和LinkedList区别 时间复杂度 与空间复杂度
  6. linux之cut用法--转载
  7. hdu 1325 Is It A Tree? 并查集
  8. bugfree 数据库配置 显示No such file or directory
  9. [原][JSBSim]基于qt代码实现:TCP|UDP与飞行模拟软件JSBSim的通信,现实模型飞行!
  10. 浏览器滚动条及其影响 calc()