列舉法(蠻力思想)和回溯法列出所有彩票號碼

2021-09-12 07:57:10 字數 831 閱讀 3944

現在有這樣乙個問題:假設彩票號碼有七注,每一注是從1-29的數字中的乙個,

每一注數字不能和其他注的重複。

現在寫出所有可能的號碼。

可以採用列舉法,使用蠻力的思想來解決問題。使用迴圈遍歷來輸出所有可能的結果,這種方法言簡意賅,能直接想到,但是迴圈層數過大,時間複雜度過大,**執行時間較長。

也可以採用試探法,使用遞迴方法減小工作量,降低時間複雜度。

#includeusing namespace std;

void test()

cout << endl;*/

count ++;}}

}}

}} }

cout << count << endl;

}int main()

#includeusing namespace std;

int num [100];

int lottery[10]; //最大範圍,具體大小根據實際問題輸入的值確定

void combine(int n, int m) //n代表號碼取值範圍,m代表共取多少注;

else //m = 1輸出結果

cout << endl;

} }}int main()

for (int j = 0; j < m; j++)

combine(n, m);

return 0;

}

蠻力法策略 列舉

蠻力法是利用計算機執行速度快這乙個特性。把問題所有的情況或所有的過程交給計算機逐一嘗試,從中找出問題的解。根據問題的條件將可能的情況一 一枚舉起來,逐一嘗試找出問題的解。有時問題的規模太大,可以排除一些明顯不合理的情況。列舉法的一般規律 找出列舉範圍 分析問題所涉及的所有情況。找出約束條件 分析問題...

回溯法思想

回溯法是一種試探求解的方法,通過對問題的歸納分析,找出求解問題的乙個線索,沿著這一線索往前試 探,若試探成功,即得到解 若試探失敗,就逐步往回退,換其他路線再往前試探。因此,回溯法可以形象地概 況為 向前走,碰壁就回頭 回溯法從開始結點 根結點 出發,以深度優先的方式搜尋整個解空間 一般為樹結構空間...

回溯法思想

回溯法有 通用的解題法 之稱。可以用來系統地搜尋乙個問題的所有解或任一解。回溯法在問題的解空間 樹中,按照深度優先策略,從根結點出發搜尋解空間樹。演算法搜尋至解空間樹的任一結點時,先判斷該結點是否 包含問題的解。如果肯定不包含,則跳過對以該結點為根的子樹的搜尋,逐層向其祖先結點回溯。否則,進入該 子...