求正整數n所有可能的和式的組合

論壇裏看到的
寫的非常好 很容易理解
void Sum(int sum, std::vector<int> &v)
{
	if(sum == 0)
    {
		vector<int>::iterator ite;
		for(ite = v.begin(); ite != v.end(); ++ite)
		{
			cout << *ite <<" ";
		}
		cout << endl;
	}
	else
	{
		for(int i = 1; i <= sum ; ++i)
		{
			if(0==v.size()||i>=v[v.size()-1])
			{
				v.push_back(i);
				Sum(sum-i,v);
				v.pop_back();
			}	
		}
	}
}





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章