Skip to content
Author: loop3r
Date: 20260318
tag: 递归
link: https://www.luogu.com.cn/problem/P1010

问题描述

link

分析

参考代码

cpp
#include <bits/stdc++.h>
using namespace std;

void solve(int a) {
	for (int i = 15; i >= 0; i--) {
		if (pow(2, i) <= a) {
			if (i == 1) cout << "2";
			else if (i == 0) cout << "2(0)";
			else {
				cout << "2(";
				solve(i);
				cout << ")";
			}
			a -= pow(2, i);
			if (a != 0) cout << "+";
		}
	}
}

int main() {
	int a; cin >> a;

	solve(a);

	return 0;
}