24點問題的程式實現

2021-04-27 16:57:37 字數 1128 閱讀 7285

題目:

24點用一筆連起來但只能用橫線和豎線進行連線,最右邊第二行的圓圈處不能用線進行連線

如圖所示:

思路:用遞迴實現,設計乙個遞迴函式tf()進行查詢下乙個節點並連線以第一行第一列的點為(1,1)第二行第一列為(2,1)編好每個點的座標,在tf函式中先查詢於自身節點相鄰的且可以連線的點然後進行連線,然後就

以此節點為尋找下一可用結點直到tf()函式返回0,就返回。

程式設計實現:(在tc2.0中編譯通過)

#include

#include

#include

/*#include*/

#include

#include

int n=1,path[48];

int chack(int x1,int y1,int flag[6][6])

int tf(int x1,int y1,int flag[6][6],int *n,int path[48])

;int biaoji=0,i;

a[0]=x1-1;

a[1]=y1;

a[2]=x1;

a[3]=y1-1;

a[4]=x1+1;

a[5]=y1;

a[6]=x1;

a[7]=y1+1;

for (i=0;i<=3;i++)

else

}else }}

if(biaoji==1)

return 1;

else

return 0; }

void main()

path[0]=1;path[1]=5;

setcolor(5);

setlinestyle(1,1,1);

setwritemode(0);          

setfillstyle(solid_fill, 5);

for(i=1;i<6;i++)

for(j=1;j<=5;j++)

}flag[2][5]=1;flag[1][5]=1;

if(tf(1,5,flag,&n,path))

else

printf("no");

getch();

closegraph();}

算24點程式

基本原理是窮舉4個整數所有可能的表示式,然後對表示式求值。表示式的定義 expression expression number operator expression number 因為能使用的4種運算子 都是2元運算子,所以本文中只考慮2元運算子。2元運算子接收兩個引數,輸出計算結果,輸出的結果...

python 的算24點程式

rel original file href 文件 201 rel file list href 文件 201.files filelist.xml 今天在網上同學求教 1 5 6 7 用 算出21.自己曾經寫過乙個 但 找不到了 偶知道 24點的程式很多的說 於是到網上搜了一下 是有不少 但是乙個...

24點遊戲 程式 三

增加了部分去重複的功能,以及字尾轉中綴顯示。include include include include include include using namespace std struct toperdata 檢查計算的引數是否合法,也可以用於過濾一些重複的表示式 bool checkjisua...