- 可預先確定候選答案的數量;
- 候選答案的範圍在求解之前必須有乙個確定的集合。
例項1:填數遊戲
演算法描述題
x 算—————
題題題題題題
#include "stdafx.h"
#include
int main()
}getchar();
return
0;}
例項2:填運算子
5 5 5 5 5=5
由於算術表示式的特殊性,在程式設計求解時,注意:
- 當填入除號時,要求右側的數不能為0
- 乘除運算級別比加減高
5+5-5*5/5 = 5
#include "stdafx.h"
#include
#include
int main()
; //運算子
printf("please input 5 number: ");
for (j = 1; j <= 5; j++)
printf("please input result:");
scanf_s("%d",&result);
for (i[1] = 1; i[1] <= 4; i[1]++) //迴圈四種運算, 1+, 2-, 3*, 4/
if ((i[1] < 4) || (num[2] != 0)) //運算子若是/,則第二個運算數不能為0
for (i[2] = 1; i[2] <= 4; i[2]++)
if ((i[2] < 4) || (num[3] != 0))
for (i[3] = 1; i[3] <= 4; i[3]++)
if ((i[3] < 4) || (num[4] != 0))
for (i[4] = 1; i[4] <= 4; i[4]++)
if ((i[4] < 4) || (num[5] != 0))
}if (left + sign*right == result)
}if (count == 0) printf("no!\n");
while(getchar()!='q'); //輸入小字字母 'q'退出
return
0;}
演算法基礎(1) 列舉
列舉在大家看來可能是乙個非常簡單的問題,不就是乙個遍歷演算法嘛,有什麼好說的,然而,在參加了北京大學mooc的演算法基礎後,我直接被震驚了。原來列舉演算法還能這麼玩!好吧,不說有的沒得沒得了,先來看第乙個例子 熄燈問題 這個問題的描述如下 乙個由按鈕組成的矩陣,其中每行有6個按鈕,共5行。每個按鈕的...
演算法與資料結構 2 列舉
列舉法又稱窮舉法,它是根據題意,列舉所有可能狀態,並用問題給定的條件來約束狀態,檢驗哪些是需要的,哪些是不需要的。迴圈 判斷語句,列舉幾個變數就迴圈幾次 設ai1 狀態元素ai的最小值 aik 狀態元素ai的最大值 1 i n 即a11 a1 a1k,a21 a2 a2k,ai1 ai aik,an...
演算法基礎(一) 列舉
慕課 程式設計與演算法 二 演算法基礎 郭瑋老師課程的學習筆記 列舉,基於逐個嘗試答案的一種文體求解策略,根據所有可能的情況,並且一一判斷。大家可能會說列舉不就是一種簡單的將資料全都遍歷一遍嗎,但是在這裡我們將列舉進行優化,讓列舉更加聰明,從而達到演算法的目的,即提供更快更好的解題的方法,這樣列舉就...