窮舉法求解24點

2022-02-16 02:01:55 字數 1266 閱讀 7391

看到網上更多的是推薦使用遞迴,但是自己對遞迴一向有點頭疼,所有使用窮舉法求解。vs2005下測試通過。

1

/********************************************

2使用窮舉法求解24點。

3但是仍然有乙個問題:對於1*2與2*1,因為順序的關係,

4系統仍然認為其是兩個解,此問題尚待解決。

5author:chris

6date :2013/06/18

7*******************************************

*/8 #include "

stdio.h"9

int solutions = 0;10

double getnumber(int array,char

express)

1125}26

void executeexpress(int leftarray,int

rightarray)27;

31int

i;32

intj;

33for(i = 0;i<4;i++)

3443

if((left+right)==24)44

48else

49if((left-right)==24)50

54else

5561

else

62if((left/right)==24)63

67}68}

69}70}

71void calculatetwentyfourpoints(int

data)

7298 k++;99}

100executeexpress(left,right);

101}

102}

103}

104if(solutions==0

)105

108 printf("

solution numbers:%d\n

",solutions);

109 }

1

int main(void)2

11calculatetwentyfourpoints(data);

12return0;

13 }

結果:

24點遊戲(窮舉法)

三 include include double cal double a,double b,int op op 0 1 2 3 if b 0.0 分母為0 return 999.0 else return a b bool isequal double d1,double d2 兩個浮點數是否近似...

24點問題(窮舉法 C )

算24點 point24 問題描述 幾十年前全世界就流行一種數字遊戲,至今仍有人樂此不疲 在中國我們把這種遊戲稱為 算24點 您作為遊戲者將得到4個1 9之間的自然數作為運算元,而您的任務是對這4個運算元進行適當的算術運算,要求運算結果等於24。您可以使用的運算只有 您還可以使用 來改變運算順序。注...

窮舉法解24點遊戲

24點遊戲 輸入 n1,n2,n3,n4 輸出 若能通過 和括號混合運算,得到運算結果為24,則輸出乙個對應的運算表示式 窮舉法 對4個數字全排列有4 24種排列。4個數字共需要3個運算子,同乙個運算子可以重複出現,則有4x4x4 64種情況。對於4個數字而言,共有以下5中加括號的方式 a b cd...