大佬求调,样例都不过
查看原帖
大佬求调,样例都不过
745896
hagoubang123楼主2024/8/16 22:41
#include <bits/stdc++.h>
using namespace std;
int n;
void f(int d){
	int k[100005];
	int p=0;
	while(d!=0){
		k[p++]=d%2;
		d/=2;
	}
	for(int i=p-1;i>=0;i--){
		if(k[i]==0){
			continue;
		}
		if(k[i]==1 && i<=2){
			cout << "2";
			if(i!=1){
				cout << "(" << i <<")";
			}
		}else{
			cout << "2(";
			f(i);
			cout << ")";
		}
		int o=0;
		for(int j=i-1;j>0;j--){
			if(k[j]==1){
				o++;
			}
		}
		if(o==0){
			break;
		}else{
			cout << "+";
		}
	}
}
int main(){
	cin >> n;
	f(n);
	return 0;
}
2024/8/16 22:41
加载中...