#include <iostream>
#include <cstdio>
using namespace std;
int n, p[11]={1}, cnt = 1, m;
void print(int t) {
for(int i = 1; i < t; i++)
cout << p[i] << "+";
cout << p[t] << endl;
}
void dfs(int a) {
for (int i = p[a-1]; i <= m; i++){
if(i == n) continue;
p[a]=i;
m -= i;
if (m == 0) print(a);
else dfs(a+1);
m += i;
}
}
int main() {
cin >> n;
m = n;
dfs(1);
return 0;
}
自然数的拆分问题
猜你喜欢
转载自www.cnblogs.com/baoyihan/p/11101986.html
今日推荐
周排行