![人工智能(梵塔問題)_第1頁](http://file4.renrendoc.com/view/05e1b1d1921ec34f0c57dd8a83db8b7c/05e1b1d1921ec34f0c57dd8a83db8b7c1.gif)
![人工智能(梵塔問題)_第2頁](http://file4.renrendoc.com/view/05e1b1d1921ec34f0c57dd8a83db8b7c/05e1b1d1921ec34f0c57dd8a83db8b7c2.gif)
![人工智能(梵塔問題)_第3頁](http://file4.renrendoc.com/view/05e1b1d1921ec34f0c57dd8a83db8b7c/05e1b1d1921ec34f0c57dd8a83db8b7c3.gif)
![人工智能(梵塔問題)_第4頁](http://file4.renrendoc.com/view/05e1b1d1921ec34f0c57dd8a83db8b7c/05e1b1d1921ec34f0c57dd8a83db8b7c4.gif)
![人工智能(梵塔問題)_第5頁](http://file4.renrendoc.com/view/05e1b1d1921ec34f0c57dd8a83db8b7c/05e1b1d1921ec34f0c57dd8a83db8b7c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1題實(shí)驗(yàn)報(bào)告1.熟悉和掌握問題規(guī)約法的原理、實(shí)質(zhì)和規(guī)約過程2.理解規(guī)約圖的表示方法3.熟悉并掌握遞歸解決問題的思想1.利用問題規(guī)約法的原理進(jìn)行問題的分析與描述2.利用遞歸思想進(jìn)行問題的解決2 將2個(gè)盤子從一個(gè)座移到另一個(gè)座,進(jìn)行到此,問題就解決了。最后找到第1⑴主程序流程圖始輸入盤子數(shù)初始化過程繪制初始圖形漢諾塔求解主程序流程圖⑵梵塔求解流程圖 始否是梵塔問題遞歸過程流程圖#include<stdio.h>#include<graphics.h>#include<time.h>#include<dos.h>#include<math.h>#definePAOGAO190/*動(dòng)畫拋高,數(shù)值越小越高*/#definePANHOU10/*#definePANAMOUNT19盤子數(shù)*/typedefintpans;typedefstructs_pillar{ountpanspan[20];/*存放每個(gè)盤的代號(hào)*/arspillarspillar[4];/*三個(gè)臺(tái)柱*/intmovecount=0;/*移動(dòng)計(jì)數(shù)*/voiddrawpillar(pillarsp);voidinit();/*初始化函數(shù)*/voiddrawmat(char*mat,intmatsize,intx,inty,intcolor);/*點(diǎn)陳漢字*/voiddrawpan(pansp,intx,inty);4 voidzimu();voiddrawpps();voidhanoi();/*顯示字幕*//*畫裝盤的臺(tái)柱*//*主算法*/voidhanoi(intn,charone,chartwo,charthree);voidsdelay(intdelay_t);/*函數(shù)申明*/voidfinish();voidmain(void){/*主函數(shù)*/printf("\n\tpleaseinputn(n<=19):");/*輸入要演示的盤子數(shù)*/scanf("%d",&PANAMOUNT);ANAMOUNTawppsMOUNTabcfinish();}voidinit()/*初始化函數(shù)*/{ETECTgminti,n,color;scrinitgraph(&gd,&gm,"c:\\tc");cleardevice();pillar[1].amount=PANAMOUNT;pillar[1].x=105;pillary=405;for(i=1;i<=pillar[1].amount;i++){pillar[1].pan[i]=pillar[1].amount-i+1;}pillar[2].amount=0;pillar[2].x=320;pillary=405;pillar[3].amount=0;pillar[3].x=527;pillary=405;setcolor(YELLOW);settextstyle(0,0,2);/*柱座標(biāo)記*/ outtextxy(105,418,"A");outtextxy(320,418,"B");outtextxy(527,418,"C");setcolor(YELLOW);/*畫框*/setlinestyle(SOLID_LINE,0,NORM_WIDTH);line,479);line(0,0,639,0);line(639,0,639,479);line,479,639,479);line(0,PAOGAO-PANHOU-40,450,PAOGAO-PANHOU-40);/*黃金線*/settextstyle(0,0,1);/*線上字*/outtextxy(250,PAOGAO-PANHOU-50,"PressANYKeytoEXIT/*線上字*/zimu();}voiddrawpillar(pillarsp){x=p.x;/*畫柱*/mount=p.amount;setfillstyle(SOLID_FILL,BROWN);bar(x,(y-mount*PANHOU-20),x+5,y);yxy}voiddrawmat(char*mat,intmatsize,intx,inty,intcolor)/*依次:字模指針、點(diǎn)陣大小、起始坐標(biāo)(x,y)、顏色*/{inti,j,k,n;efor(j=0;j<matsize;j++)for(i=0;i<n;i++)for(k=0;k<8;k++)if(mat[j*n+i]&(0x80>>k))/*測(cè)試為1的位則顯示*/putpixel(x+i*8+k,y+j,color);}voiddrawpan(pansp,intx,inty){setfillstyle(SOLID_FILL,LIGHTGRAY);bar(x-(5+5*p),y-PANHOU+1,x+(5+5*p),y);setlinestyle(SOLID_LINE,0,NORM_WIDTH);setcolor(BLACK);linex-(5+5*p),y,x+(5+5*p),y); line(x-(5+5*p),y+1,x+(5+5*p),y+1);}voidclearpan(pansp,intx,inty){setfillstyle(SOLID_FILL,BLACK);bar(x-(5+5*p),y-PANHOU,x+(5+5*p),y);}voiddrawpps()/*畫裝盤的臺(tái)柱*/{llarspfor(i=1;i<=3;i++){ppillar[i];x=p.x;ypy;mount=p.amount;drawpillar(p);/*畫臺(tái)柱*/for(j=1;j<=mount;j++){drawpan(p.pan[j],x,y-PANHOU*(j-1));}}}voidhanoi(intn,charone,chartwo,charthree){voidmove(charx,chary);/*聲明*/{veonethree}{hanoi(n-1,one,three,two);veonethreehanoi(n-1,two,one,three);}}voidmove(charx,chary) {voidclearprocess();/*申明函數(shù)*/voidaction();/*申明移動(dòng)動(dòng)畫函數(shù)*/itottchara[1];charb[1];a[0]=x;a[1]='\0';b[0]=y;b[1]='\0';xito=y-96;mountf=pillar[ifrom].amount;/*數(shù)量*/mountt=pillar[ito].amount;data=pillar[ifrom].pan[mountf];pillar[ifrom].amount--;/*出棧*/sdelay(6);/*暫停屏幕*/if(movecount>=15)clearprocess();/*清除步驟提示*/countsetcolor(RED);/*輸出移動(dòng)過程*/settextstyle(TRIPLEX_FONT,HORIZ_DIR,1);outtextxy(560,30+movecount*10,a);outtextxy(580,30+movecount*10,"--->");outtextxy(620,30+movecount*10,b);setfillstyle(SOLID_FILL,BLACK);/*涂黑_重畫*/bar(3,pillar[1].y-PANHOU*19-20,584,412);drawpps();/*重畫*/action(data,pillar[ifrom],pillar[ito]);/*此處添加動(dòng)畫函數(shù)*/pillar[ito].amount++;/*入棧*/mountt=pillar[ito].amount;/*刷新數(shù)量*/pillar[ito].pan[mountt]=data;drawpps();/*重畫*/}voidclearprocess(){setfillstyle(SOLID_FILL,BLACK); for(i=0;i<=16;i++){bar(545,30+i*10,638,40+i*10);sdelay/*動(dòng)畫延遲n個(gè)(1/18.2)秒*/}}voidsdelay(intdelay_t){clock_tstart_time;start_time=clock();while((clock()-start_time)<delay_t);/*循環(huán)空語句*/}voidaction(panspan,pillarsfromp,pillarstop)/*移動(dòng)動(dòng)畫*/{floatx1,y1,x2,y2;floatp,q,a;intx,y,temp;/*整形變量用與當(dāng)前幀*/x1=(float)(fromp.x);y1=(float)(fromp.y-fromp.amount*PANHOU-20);/*PANHOU為盤厚常數(shù),減20處理,以便避開柱子*/x2=(float)(top.x);y2=(float)(top.y-top.amount*PANHOU);q=-sqrt((y1-PAOGAO)/(y2-PAOGAO));/*此處注意產(chǎn)生增根*/if(1-q)/*除數(shù)不為0*/{a=(x1-x2*q)/(1-q);p=(y2-PAOGAO)/(x2-a)/(x2-a);/*除以平方*/if(x1<=x2){for(x=floor(x1+0.5);x<floor(x2+0.5);x=x+7){ifkbhitexitESC*/y=floor((p*(x-a)*(x-a)+PAOGAO)+0.5);drawpan(pan,x,y);sdelayclearpan(pan,x,y);/*清除軌跡*
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 航空物流居間代理提成協(xié)議
- 2025年配電箱子項(xiàng)目投資可行性研究分析報(bào)告
- 現(xiàn)代商業(yè)綜合體綠建設(shè)計(jì)的創(chuàng)新實(shí)踐
- 中國丙酸氯倍他索行業(yè)市場(chǎng)深度研究及投資戰(zhàn)略咨詢報(bào)告
- 2025年度辦事處企業(yè)社會(huì)責(zé)任評(píng)估與改進(jìn)協(xié)議
- 管材擠出機(jī)項(xiàng)目可行性研究報(bào)告
- 關(guān)于成立文創(chuàng)公司可行性報(bào)告
- 中國無紡布口罩上帶機(jī)項(xiàng)目投資可行性研究報(bào)告
- 出租房安全合同范本
- 臨沂房地產(chǎn)抵押合同范本
- 工業(yè)機(jī)器人仿真軟件:Epson RC+ Simulator:機(jī)器人基本操作:EpsonRC+Simulator界面介紹
- 項(xiàng)目三任務(wù)1:認(rèn)識(shí)超聲波雷達(dá)(課件)
- 起重機(jī)械生產(chǎn)單位質(zhì)量安全總監(jiān)-特種設(shè)備考試題庫
- 煤礦自救互救知識(shí)考試復(fù)習(xí)題庫(含答案)
- DZ∕T 0080-2010 煤炭地球物理測(cè)井規(guī)范(正式版)
- 幼兒園木工坊安全教育
- 2024年高考語文一輪復(fù)習(xí):文言文文意概括簡(jiǎn)答題知識(shí)清單 (二)
- 康復(fù)科工作計(jì)劃及實(shí)施方案
- 縱隔腫物的護(hù)理查房
- 新能源汽車概論題庫
- 設(shè)備維保的維修成本和維護(hù)費(fèi)用
評(píng)論
0/150
提交評(píng)論