样例没过QWQ
查看原帖
样例没过QWQ
1037200
lty2023楼主2024/10/3 11:50

用的递归

#include<bits/stdc++.h>
using namespace std; 
void dg(int a){
	for(int i=15;i>=0;i--){
		if(pow(2,i)<=a){
			if(i==1){
				cout<<2;
				return;
			}
			if(i==0){
				cout<<"2\(0)";
				return;
			}
			if(i==2){
				cout<<"2\(1)";
				return;
			}
			cout<<"2\(";
			dg(i);
			a-=pow(2,i);
			if(a==0){
				cout<<")";
				return;
			}
			else{
				cout<<"+";
				dg(a);
				cout<<")";
				return;
			}
		}
	}
}
int main(){
	int n;
	cin>>n;
	dg(n);
}
2024/10/3 11:50
加载中...