P11605 题解
Luogu_916767 · · 题解
In Luogu
题目大意
多组数据,每组数据一个
- 不存在两个相邻的
1 ; -
- 表达式运算结果为
k 。
思路分析
很容易想到用类似十进制转二进制的方法来构造。
若
若
按照这种方法,直到将
这种方式构造的表达式中
Code
#include<iostream>
using namespace std;
int t;
int n;
string ans;
void work(int n){
if(n == 1){
ans += "1";
return ;
}
if(n % 2 == 0){
ans += "((1+1)*";
work(n/2);
ans += ")";
}else{
ans += "(1+(1+1)*";
work(n/2);
ans += ")";
}
}
int main(){
cin>>t;
while(t -- ){
cin>>n;
ans = "";
work(n);
cout<<ans<<"\n";
}
}