题目背景
任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。
题目描述
任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。
输入输出格式
输入格式:
输入:待拆分的自然数n。
输出格式:
输出:若干数的加法式子。
输入输出样例
输入样例#1:
7
输出样例#1:
1+1+1+1+1+1+11+1+1+1+1+21+1+1+1+31+1+1+2+21+1+1+41+1+2+31+1+51+2+2+21+2+41+3+31+62+2+32+53+4 解析 搜索模版,简单dfs即可
#includeusing namespace std;int n;vector vn;int sum;int m;void dfs(int now){ if(sum>n) return;//判断不符合条件的边界!! if(sum==n) { int m=vn.size(); for(int i=0;i >n; dfs(1);}