打了一个上午打完发现是错的......大佬帮忙看看哪里错
查看原帖
打了一个上午打完发现是错的......大佬帮忙看看哪里错
560716
wzliyiming楼主2021/8/28 13:44
#include<bits/stdc++.h>
using namespace std;
int ans,I,f[105][20005];
void turn(int a){
	I=0;
	while(a!=0){
		f[I][a]=a%2;
		a/=2;
		I++;
	}
	return;
}
void dfs(int a){
	if(a<=3){
		if(a==1)cout<<"2(0)";
		if(a==2)cout<<"2";
		if(a==3)cout<<"2+2(0)";
		return ;
	}
    turn(a);
    cout<<"2(";
    for(int i=I;i>=2;i--){
    	if(f[i][a]==1)dfs(i);
	}
	cout<<')';
}
int main(){
	int n;
	cin>>n;
	if(n==2){
		cout<<2;
		return 0;
	}
	dfs(n);
	return 0;
}
2021/8/28 13:44
加载中...