题目描述

任何一个正整数都可以用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)

#include<iostream>using namespace std;void judge( int n ) //返回最大项是2的多少次幂
{//结尾可能是2或者1 若为2 直接输出2 若为1 直接输出2(0) 且最后不需要任何符号 if(n==1){cout<<2<<"("<<0<<")";}else if(n==2){cout<<2;}//若直接n已经为零了 就不需要再进行任何输出直接返回 else if(n==0){return ;}else{int i,j;for(i=1;i<=14;i++){ //i为2的多少次幂 int sum = 2;for(j=2;j<=i;j++){sum*=2;}if((n-sum)>=0&&(n-sum)<sum){n=n-sum; //n的值 可能为0 //若为2次幂可直接输出 因为零次幂已经在上面输出了 if(i==2){cout<<2<<"("<<i<<")";//如果n不为0 即后面还有项 要输出加号 if(n!=0) cout<<"+";}else if(i == 1){cout<<2;//和上面一样 如果n不为0 即后面还有项 要输出加号 if(n!=0)cout<<"+";}  else{cout<<2<<"(";judge(i); //将i也输出成上面的模样 小到2时结束 cout<<")";//和上面一样 如果n不为0 即后面还有项 要输出加号 if(n!=0)cout<<"+";} judge(n);}}}
}int main()
{int a;scanf("%d",&a);judge(a);return 0;
}

任何一个正整数都可以用2的幂次方表示。例如:137=27+23+20同时约定方次用括号来表示,即ab可表示为a(b)。由此可知,137可表示为:2(7)+2(3)+2(0)相关推荐

  1. 任何一个正整数都可以用2的幂次方表示:137=2^7+2^3+2^0

    一.题目描述 例如: 137=27+23+20,同时约定几次方用括号来表示,即ab可表示为a(b),由此可知,137可表示为: 2(7)+2(3)+2(0),进一步: 7=22+2+20 (2^1用2 ...

  2. 任何一个正整数都可以用2的幂次方表示,转化

    任何一个正整数都可以用2的幂次方表示. 例如:137=2^7+2^3+2^0 同时约定次方用括号来表示,即a^b可表示为a(b) 由此可知,137可表示为:2(7)+2(3)+2(0) 进一步:7=2 ...

  3. 任何一个正整数都可以用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,3=2+2^0.所以137最终可以表示为2(2(2)+2 ...

  4. 任何一个正整数都可以用2的幂次方表示(C语言版)

    这道题其实可以看作是:十进制转二进制的问题. 如果你基础不太好没关系,记住十进制转二进制的口诀:除二取余 #include<stdio.h> int try(int n,int r); i ...

  5. python怎么判断一个数是不是正整数_Python如何判断一个正整数是否是素数?

    素数(Prime Number),又称质数,一个大于1的自然数,除了1和它自身外,不能整除其他自然数的数叫做质数:否则,称为合数(Composite Number).1既不是素数,也不是合数. 如2. ...

  6. python12345输出54321_C语言编写程序 :输入一个正整数,将其逆序输出。例如,输入12345,输出54321. 跪求大神用循环语句...

    点击查看C语言编写程序 :输入一个正整数,将其逆序输出.例如,输入12345,输出54321. 跪求大神用循环语句具体信息 答:#include int main() { int num; scanf ...

  7. 698. 划分为k个相等的子集:给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。

    题目描述 给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等. 示例 1: 输入: nums = [4, 3, 2, 3, 5, 2, 1], k ...

  8. 斐波那契数列_菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。

    描述 菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和.给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少. 格式 输入格式 第1行是测 ...

  9. 【题目】四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和。 如果把0包括进去,就正好可以表示为4个数的平方和。(输出最后一个序列)

    题目:四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和. 如果把0包括进去,就正好可以表示为4个数的平方和. 比如: 5 = 0^2 + 0^2 + 1^2 + 2^2 ...

最新文章

  1. Smart Crop,一种切除 PDF 扫描文档白边的新选择(工程篇)
  2. iOS11开发教程(二十三)iOS11应用视图实现按钮的响应(3)
  3. JQuery获取元素本身HTML
  4. 机器学习的算法和普通《算法导论》里的算法有什么本质上的异同
  5. mysql unix formtime_linux下find命令-atime,-ctime,-mtime真正含义
  6. Arcgis创建SDE_Geometry、SDO_Geometry的区别【转】
  7. QT 在最新版mac下无法显示变量的问题处理
  8. php如何让B链接在当前页面打,javascript - 如何实现点击链接 A 弹出窗口 X,点击链接 B 继续在弹出窗口 X (刷新)打开?...
  9. java socket wex5,在wex5中如何一行代码更新数据
  10. mysql all和distinct_mysql distinct 使用实例(过滤多余的重复记录)
  11. RAID结构介绍以及RAID1、RAID0等各种模式的区别
  12. 顺序表的十个基本操作(全)
  13. Dialog顶部空白点击后无法关闭Dialog
  14. 华三交换机基本配置命令
  15. 2022-2028全球姿势矫正器行业调研及趋势分析报告
  16. 在aspx页面显示一张完整的RDL报表
  17. HTML前端连接go语言后段,一次完整的浏览器请求响应过程-Go语言中文社区
  18. 和专业计算机男生谈恋爱,和不同专业的男生谈恋爱是什么感觉?
  19. QN902X在KEIL中使用定时器中断流程记录
  20. FT2004(D2000)开发实战之PBF配置

热门文章

  1. 74ls161中rco是什么_【别找了全在这】硬件工程师经典笔试题集锦!
  2. 『GoLang』协程与通道
  3. 汽车冬季养护小知识,Get起来!
  4. 【GBT28181开发:SIP协议实践】之注册流程
  5. 2020.8.5课堂笔记(多线程)
  6. 微信小程序 之 云开发
  7. 验证码验证不同步处理方法
  8. 平安租赁面试java_2019平安租赁面试经验(资产运作,企业融资部等)
  9. toad可以连接mysql吗_toad的连接数据库
  10. logstash-plugin could not create the java virtual machine.