救命!!!
查看原帖
救命!!!
751450
Math_Miss楼主2023/10/20 12:57

十十十十十十十十十十十十十十十十十十十十十十

#include<bits/stdc++.h>
using namespace std;
int n,a[16]={1,2,4};
void initialize(){
	for(int i=3;i<=15;i++){
	    a[i]=a[i-1]*2;
	}
}

string doit(int n){
	if(n==1){
		return "2(0)";
	}
	if(n==2){
		return "2";
	}
	if(n==3){
		return "2+2(0)";
	}
	for(int i=1;i<=n;i++){
		if(a[i-1]<=n&&n<a[i]){
			//return "2("+doit(i)+")"+;
			if(n-a[i-1]==0){
				return "2("+doit(i-1)+")";
			}
			else{
				if(n-a[i-1]==1){
					return "2("+doit(i-1)+")+"+"2(0)";
				}
				if(n-a[i-1]==2){
					return "2("+doit(i-1)+")+"+"2";
				}
				if(n-a[i-1]==3){
					return "2("+doit(i-1)+")+"+"2+2(0)";
				}
				return "2("+doit(i-1)+")+"+"2("+doit(n-a[i-1])+")";
			}
		}
	}
	
}
void print(){
	cout<<doit(n);
}
int main(){
	cin>>n;
	initialize();
	print();
	return 0;
}

寻找大佬,帮助蒟蒻!

十十十十十十十十十十十十十十十十十十十十十十

2023/10/20 12:57
加载中...