题目:
将N拆分成多个整数相加和的形式,求出所有的形式
思路:
用递归实现:
使用一个list保存前缀数字,输出前缀与当前数字
代码:
#include <iostream>
#include <list>
using namespace std;
//输出前缀数字
void print_list(list<int>::iterator iter1,list<int>::iterator iter2)
{
for(list<int>::iterator iter = iter1; iter!=iter2; iter++)
cout<<*iter<<" ";
}
//n为当前数字,i为拆分位置
void f(int n,list<int>& lst,int start)
{
if(n==1)
{
print_list(lst.begin(),lst.end());
cout<<1<<endl;
}
else
{