生活随笔
收集整理的這篇文章主要介紹了
穷举搜索
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
1 窮舉搜索
1.1 窮舉搜索的概念
窮舉法(枚舉法)的基本思想是:列舉出所有可能的情況,逐個判斷有哪些是符合問題所要求的條件,從而得到問題的全部解答。它利用計算機運算速度快、精確度高的特點,對要解決問題的所有可能情況,一個不漏地進行檢查,從中找出符合要求的答案。
用窮舉算法解決問題,通常可以從兩個方面進行分析:
(1)問題所涉及的情況:問題所涉及的情況有哪些,情況的種數必須可以確定。把它描述出來。應用窮舉時對問題所涉及的有限種情形必須一一列舉,既不能重復,也不能遺漏。重復列舉直接引發增解,影響解的準確性;而列舉的遺漏可能導致問題解的遺漏。
(2)答案需要滿足的條件:分析出來的這些情況,需要滿足什么條件,才成為問題的答案。把這些條件描述出來。
1.2 應用實例
實現代碼如下:
#include <iostream>
using namespace std
;int main(void) {int a100
= 0; int a50
= 0; int a10
= 0; int a5
= 0; int cnt
= 0; for (a100
= 0; a100
<= 10; a100
++) {for (a50
= 0; a50
<= 20; a50
++) {for (a10
= 0; a10
<= 20; a10
++) {for (a5
= 0; a5
<= 20; a5
++) {if ((a100
* 100 + a50
* 50 + a10
* 10 + a5
* 5) == 1000 && (a100
+ a50
+ a10
+ a5
) == 20) {cout
<< a100
<< " , " << a50
<< " , " << a10
<< " ,"<<a5
<<endl
;cnt
++;}}}}}cout
<< "可行的解決方案總共有: " << cnt
<< endl
;system("pause");return 0;
}
參考資料:
C/C++從入門到精通-高級程序員之路【奇牛學院】
總結
以上是生活随笔為你收集整理的穷举搜索的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。