题目描述

任何一个正整数都可以用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>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define inf 0x3f3f3f3f
#define ll long long
using namespace std;
int n;
void trans(int i){
if(i==) cout<<"2(2(2+2(0))+2(2)+2)";
if(i==) cout<<"2(2(2+2(0))+2(2)+2(0))";
if(i==) cout<<"2(2(2+2(0))+2(2))";
if(i==) cout<<"2(2(2+2(0))+2+2(0))";
if(i==) cout<<"2(2(2+2(0))+2)";
if(i==) cout<<"2(2(2+2(0))+2(0))";
if(i==) cout<<"2(2(2+2(0)))";
if(i==) cout<<"2(2(2)+2+2(0))";
if(i==) cout<<"2(2(2)+2)";
if(i==) cout<<"2(2(2)+2(0))";
if(i==) cout<<"2(2(2))";
if(i==) cout<<"2(2+2(0))";
if(i==) cout<<"2(2)";
if(i==) cout<<"";
if(i==) cout<<"2(0)";
}
int main(){
cin>>n;
while(n>){
for(int i=;i>=;i--){
int k=pow(,i);
if(k<=n){
trans(i);
n-=k;
if(n>) cout<<'+';
break;
}
}
}
return ;
}

2^14=16384

2^15=32768

我这应该不算打表吧?

洛谷 P1010 幂次方 Label:模拟的更多相关文章

  1. 解题笔记-洛谷-P1010 幂次方

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

  2. 洛谷P1010 幂次方

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

  3. 洛谷 P1010 幂次方

    做了好久,递归拆吧 #include<iostream>#include<cstdio>#include<cmath>using namespace std;int ...

  4. 集训作业 洛谷P1010 幂次方

    这个…… 这个题看上去有点难的样子. 仔细看看,感觉有点简单.啊,是递归啊,正经的看一看,好像是把一个数分成2的几次方的和. 然后余数和比他小的最大的2的次方数如果不是2的一次方或者2的0次方,就继续 ...

  5. Java实现 洛谷 P1010 幂次方

    输入输出样例 输入 #1 1315 输出 #1 2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0) import java.util.Scanner; pu ...

  6. P1010 幂次方 递归模拟

    题目描述 任何一个正整数都可以用22的幂次方表示.例如 137=2^7+2^3+2^0137=27+23+20 同时约定方次用括号来表示,即a^bab 可表示为a(b)a(b). 由此可知,13713 ...

  7. 洛谷 P1033 自由落体 Label:模拟&&非学习区警告

    题目描述 在高为 H 的天花板上有 n 个小球,体积不计,位置分别为 0,1,2,….n-1.在地面上有一个小车(长为 L,高为 K,距原点距离为 S1).已知小球下落距离计算公式为 d=1/2*g* ...

  8. 2021.07.26 P1010 幂次方(数论)

    2021.07.26 P1010 幂次方(数论) [P1010 NOIP1998 普及组] 幂次方 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1.二进制 题意: 用20 ...

  9. 洛谷 P5594 【XR-4】模拟赛

    洛谷 P5594 [XR-4]模拟赛 洛谷传送门 题目描述 X 校正在进行 CSP 前的校内集训. 一共有 nn 名 OIer 参与这次集训,教练为他们精心准备了 mm 套模拟赛题. 然而,每名 OI ...

随机推荐

  1. 【Spring】Spring系列1之Spring概述

    概述

  2. Maximum Product of Word Lengths

    Given a string array words, find the maximum value of length(word[i]) * length(word[j]) where the tw ...

  3. C++类编程(一)const的使用

    设计类时,考虑以下五点 1.构造函数初始化列表 2.函数该不该加const 3.参数传递尽量考虑用引用传递,考虑加不加const 4.返回用不用引用 5.数据尽量放在private,函数尽量放在pub ...

  4. object-c面向对象1

    ---恢复内容开始--- 类,对象,方法,属性. 类是object-c一种重要的数据类型,是组成object-c程序的基本要素.object-c的类声明和实现包括两个部分:接口和实现部分. @inte ...

  5. HDU 4704 Sum (高精度+快速幂+费马小定理+二项式定理)

    Sum Time Limit:1000MS     Memory Limit:131072KB     64bit IO Format:%I64d & %I64u Submit Status  ...

  6. Codeforces 390A( 模拟题)

    Inna and Alarm Clock Time Limit: 1000MS   Memory Limit: 262144KB   64bit IO Format: %I64d & %I64 ...

  7. VS禁止特定警告

    项目右键-属性-配置属性-C/C++-高级-禁用特定警告-填写警告编号例如4996

  8. [Android Pro] Android Support 包里究竟有什么

    reference to : http://www.2cto.com/kf/201411/350928.html 随着 Android 5.0 Lollipop 的发布,Android 又为我们提供了 ...

  9. sqlserver临时启用和关闭约束

    select  'ALTER TABLE ['  + b.name +  '] NOCHECK CONSTRAINT ' +  a.name +';' as  禁用约束   from  sysobje ...

  10. cut mysqladmin

    [root@86 ~]# mysqladmin -uroot -p123456 -S /tmp/mysql.sock status Uptime: 112403 Threads: 17 Questio ...