任何一个正整数都可以用2的幂次方表示。例如:137=27+23+20同时约定方次用括号来表示,即ab可表示为a(b)。由此可知,137可表示为:2(7)+2(3)+2(0)
题目描述
任何一个正整数都可以用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)相关推荐
- 任何一个正整数都可以用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的幂次方表示. 例如:137=2^7+2^3+2^0 同时约定次方用括号来表示,即a^b可表示为a(b) 由此可知,137可表示为:2(7)+2(3)+2(0) 进一步:7=2 ...
- 任何一个正整数都可以用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 ...
- 任何一个正整数都可以用2的幂次方表示(C语言版)
这道题其实可以看作是:十进制转二进制的问题. 如果你基础不太好没关系,记住十进制转二进制的口诀:除二取余 #include<stdio.h> int try(int n,int r); i ...
- python怎么判断一个数是不是正整数_Python如何判断一个正整数是否是素数?
素数(Prime Number),又称质数,一个大于1的自然数,除了1和它自身外,不能整除其他自然数的数叫做质数:否则,称为合数(Composite Number).1既不是素数,也不是合数. 如2. ...
- python12345输出54321_C语言编写程序 :输入一个正整数,将其逆序输出。例如,输入12345,输出54321. 跪求大神用循环语句...
点击查看C语言编写程序 :输入一个正整数,将其逆序输出.例如,输入12345,输出54321. 跪求大神用循环语句具体信息 答:#include int main() { int num; scanf ...
- 698. 划分为k个相等的子集:给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。
题目描述 给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等. 示例 1: 输入: nums = [4, 3, 2, 3, 5, 2, 1], k ...
- 斐波那契数列_菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。
描述 菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和.给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少. 格式 输入格式 第1行是测 ...
- 【题目】四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和。 如果把0包括进去,就正好可以表示为4个数的平方和。(输出最后一个序列)
题目:四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和. 如果把0包括进去,就正好可以表示为4个数的平方和. 比如: 5 = 0^2 + 0^2 + 1^2 + 2^2 ...
最新文章
- Smart Crop,一种切除 PDF 扫描文档白边的新选择(工程篇)
- iOS11开发教程(二十三)iOS11应用视图实现按钮的响应(3)
- JQuery获取元素本身HTML
- 机器学习的算法和普通《算法导论》里的算法有什么本质上的异同
- mysql unix formtime_linux下find命令-atime,-ctime,-mtime真正含义
- Arcgis创建SDE_Geometry、SDO_Geometry的区别【转】
- QT 在最新版mac下无法显示变量的问题处理
- php如何让B链接在当前页面打,javascript - 如何实现点击链接 A 弹出窗口 X,点击链接 B 继续在弹出窗口 X (刷新)打开?...
- java socket wex5,在wex5中如何一行代码更新数据
- mysql all和distinct_mysql distinct 使用实例(过滤多余的重复记录)
- RAID结构介绍以及RAID1、RAID0等各种模式的区别
- 顺序表的十个基本操作(全)
- Dialog顶部空白点击后无法关闭Dialog
- 华三交换机基本配置命令
- 2022-2028全球姿势矫正器行业调研及趋势分析报告
- 在aspx页面显示一张完整的RDL报表
- HTML前端连接go语言后段,一次完整的浏览器请求响应过程-Go语言中文社区
- 和专业计算机男生谈恋爱,和不同专业的男生谈恋爱是什么感觉?
- QN902X在KEIL中使用定时器中断流程记录
- FT2004(D2000)开发实战之PBF配置
热门文章
- 74ls161中rco是什么_【别找了全在这】硬件工程师经典笔试题集锦!
- 『GoLang』协程与通道
- 汽车冬季养护小知识,Get起来!
- 【GBT28181开发:SIP协议实践】之注册流程
- 2020.8.5课堂笔记(多线程)
- 微信小程序 之 云开发
- 验证码验证不同步处理方法
- 平安租赁面试java_2019平安租赁面试经验(资产运作,企业融资部等)
- toad可以连接mysql吗_toad的连接数据库
- logstash-plugin could not create the java virtual machine.