【分治】 洛谷 P1010 幂次方
2017-04-25 07:43
295 查看
题目描述
任何一个正整数都可以用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)
输入输出格式
输入格式:一个正整数n(n≤20000)。
输出格式:
符合约定的n的0,2表示(在表示中不能有空格)
输入输出样例
输入样例#1:1315
输出样例#1:
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 calc(int n) { while(n>0) { long long int t=1,b=0; while(n>=t*2) { t*=2; b++; } n-=t; if(b==1)printf("2"); if(b==0)printf("2(%d)",b); if(b!=1&&b!=0) { printf("2("); mi(b); printf(")"); } if(n>0)printf("+"); } } int main() { int n; cin>>n; calc(n); return 0; }
相关文章推荐
- |洛谷|分治|P1010 幂次方
- 洛谷 P1010 幂次方
- 洛谷 P1010 幂次方
- 洛谷P1010 幂次方
- AC日记——【模板】点分治(聪聪可可) 洛谷 P2634
- 洛谷 P1010 幂次方
- 平面最近点对 洛谷1257 分治 c++
- 洛谷3767 膜法 带权并查集+分治
- 洛谷P4233:射命丸文的笔记 (计数原理+容斥原理+多项式求逆/分治NTT)
- 点分治模板(洛谷P4178 Tree)(树分治,树的重心,容斥原理)
- [bzoj] 3263 陌上花开 洛谷 P3810 三维偏序|| CDQ分治 && CDQ分治讲解
- 洛谷P3676 小清新数据结构题(动态点分治+树链剖分)
- 洛谷5月月赛T30212 玩游戏 【分治NTT + 多项式求ln】
- 洛谷P3345 [ZJOI2015]幻想乡战略游戏(动态点分治,树的重心,二分查找,Tarjan-LCA,树上差分)
- CDQ分治简介(洛谷P3810、BZOJ3262)
- 洛谷P2664 树上游戏 【点分治 + 差分】
- |洛谷|分治|数学|P1226 取余运算||快速幂
- 洛谷——P1010 幂次方
- 洛谷P3374 【模板】树状数组 1(CDQ分治)
- 【分治】洛谷 P1024 一元三次方程求解