您的位置:首页 > 其它

整数的拆分问题

2015-02-04 22:13 190 查看
void dfs(int sum , vector<int>& vec , int curnum , int id)

{

int i;

if(curnum == sum)

{

static int inum = 1 ;

cout<<"方案 "<<inum++<<": ";

for(i = 0; i < vec.size() ; ++i)

cout<<vec[i]<<" ";

cout<<endl;

return;

}



for(i = id ; i <= sum; ++i)

{

if(curnum + i <= sum)

{

vec.push_back(i);

dfs(sum , vec , curnum + i , i);

vec.pop_back();

}

else

break;

}

}



void main()

{

vector<int> vec;

dfs(10 , vec , 0 , 1);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: