社区讨论
80分求助(悬赏关注)
P1010[NOIP 1998 普及组] 幂次方参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @loydd8vx
- 此快照首次捕获于
- 2023/11/14 21:28 2 年前
- 此快照最后确认于
- 2023/11/15 07:37 2 年前
CPP
#include <bits/stdc++.h>
using namespace std;
int n;
string a;
int mpow(int p)
{
if(p==0) return(1);
if(p==1) return(2);
if(p%2) return(mpow(p-1)*2);
int temp=mpow(p/2);
return(temp*temp);
}
vector<int> liebiao;
void init(int yu)
{
if(yu==0) return;
if(yu==1){
liebiao.push_back(0);
return;
}
int Y=log2(yu);
liebiao.push_back(Y);
yu-=mpow(Y);
init(yu);
}
string str[20]={"0","2(0)","2",
"2+2(0)","2(2)","2(2)+2(0)",
"2(2)+2","2(2)+2+2(0)","2(2+2(0))",
"2(2+2(0))+2(0)","2(2+2(0))+2",
"2(2+2(0))+2+2(0)","2(2+2(0))+2(2)",
"2(2+2(0))+2(2)+2(0)","2(2+2(0))+2(2)+2",
"2(2+2(0))+2(2)+2+2(0)"},Str;
int main()
{
cin>>n;
init(n);
// for(int i=0;i<liebiao.size();i++) cout<<liebiao[i]<<" ";
for(int i=0;i<liebiao.size()-1;i++)
{
Str+="2("+str[liebiao[i]]+")+";
}
Str+="2("+str[liebiao[liebiao.size()-1]]+")";
cout<<Str;
return(0);
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...