遂川网站建设,半江红网站建设,wordpress域名改了,阿里巴巴运营课程题目描述
“天下熙熙#xff0c;皆为利来#xff1b;天下攘攘#xff0c;皆为利往”#xff0c;监狱里的暗势力划分地盘的目的无非是为了获取利益#xff0c;他们分配利益的方式是基于这样一个准则#xff1a;设总利益为自然数#xff2e;#xff0c;则任何一个大于1的…题目描述
“天下熙熙皆为利来天下攘攘皆为利往”监狱里的暗势力划分地盘的目的无非是为了获取利益他们分配利益的方式是基于这样一个准则设总利益为自然数则任何一个大于1的N总可以拆分成若干个小于N的自然数之和求出N的所有拆分后选择最合适的一种进行分配例如当N3时有两种划分即312和3111。试求出的所有拆分。
输入
一个整数即NN100。
输出
输出每一种划分方案每种划分方案占一行最后一行为方案总数。
样例输入 Copy
3样例输出 Copy
3111
312
2
#include bits/stdc.h
using namespace std;
int n, arr[101];
long long res;
void dfs(int sum, int depth, int start)
{if (sum n) return;if (sum n){res;printf(%d%d, n, arr[1]);for (int i 2; i depth; i)printf(%d, arr[i]);sum 0;puts();return;}for (int i start; i n; i){arr[depth] i;dfs(sum i, depth 1, i);}
}
int main()
{scanf(%d, n);dfs(0, 1, 1);printf(%lld\n, res);return 0;
}