满足条件的两个数或多个数
生活随笔
收集整理的這篇文章主要介紹了
满足条件的两个数或多个数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
主要參考:http://blog.csdn.net/v_JULY_v/article/details/6419466
2010年中興面試題
編程求解:
輸入兩個整數 n 和 m,從數列1,2,3.......n 中 隨意取幾個數,
使其和等于 m ,要求將其中所有的可能組合列出來。
對于每個數都要算下,放與不放的情況:
void Find(int t,int sum,list<int>& lst) {if(sum ==0){list<int>::iterator it;for(it = lst.begin();it!=lst.end();++it)cout<<*it<<" ";cout<<endl;}if(t>sum)return;if(t+1<=sum)Find(t+1,sum,lst);if(t<=sum){lst.push_back(t);Find(t+1,sum - t,lst);lst.pop_back();}} int main() {list<int> lst;Find(1,6,lst);return 0;}
總結
以上是生活随笔為你收集整理的满足条件的两个数或多个数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 线程与进程的异同
- 下一篇: ultraedit正则表达式