全WA,求助
查看原帖
全WA,求助
1137842
Gold_Ballon楼主2024/3/15 12:57
#include<cstdio>
using namespace std;
int pow(int i,int j){
	int ans = 1;
	while(j--) ans*= i;
	return ans;
}

void s(int n){
	putchar('2');
	int i = 0;
	while(n > pow(2,i + 1)) ++i;
	if(i != 1){
		putchar('(');
		if(i > 2) s(i);
		else putchar(i + 48);
		putchar(')');
	}
	int v = n - pow(2,i);
	if(v != 0){
		putchar('+');
		s(v);
	}
}

int main(){
	int n;scanf("%d",&n);
	s(n);
}

137正确,其他都是错的,大佬求助

2024/3/15 12:57
加载中...