题目有点问题

☀️☃️☃️☃️☀️  •  7个月前


#include <iostream>
using namespace std;
int v[20];

void p(int n) {
	if (n == 0)
	{
		printf("0");
		return;
	}
	for (int i = 15; i >= 0; i--) {
		if (n < 4) break;
		if (n > (1 << i)) {
			n -= 1 << i;
			printf("2(");
			p(i);
			printf(")+");
		}
		if (n == (1 << i)) {
			n -= 1 << i;
			printf("2(");
			p(i);
			printf(")");
		}
	}
	if (n == 3) {
		printf("2+2(0)");
	}
	else if (n == 2) {
		printf("2");
	}
	else if (n == 1) {
		printf("2(0)");
	}

}

int main() {
	int n;
	cin >> n;
	p(n);
	return 0;
}

© 2019 - 2024王码编程  滇ICP备19007937号-1如果您有任何问题

评论:

请先登录,才能进行评论