漢諾塔問題-創(chuàng)新互聯(lián)

漢諾塔問題
    • 漢諾塔問題簡(jiǎn)介
    • 解題思路
    • 題目及題解

創(chuàng)新互聯(lián)建站主要從事網(wǎng)頁設(shè)計(jì)、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、自適應(yīng)網(wǎng)站建設(shè)、程序開發(fā)、網(wǎng)站優(yōu)化、微網(wǎng)站、小程序設(shè)計(jì)等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們?cè)诨ヂ?lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷經(jīng)驗(yàn),集策劃、開發(fā)、設(shè)計(jì)、營(yíng)銷、管理等多方位專業(yè)化運(yùn)作于一體。漢諾塔問題簡(jiǎn)介

漢諾塔(又稱河內(nèi)塔)問題是印度的一個(gè)古老的傳說。開天辟地的神勃拉瑪在一個(gè)廟里
留下了三根金剛石的棒,第一根上面套著64個(gè)圓的金片,大的一個(gè)在底下,其余一個(gè)
比一個(gè)小,依次疊上去,廟里的眾僧不倦地把它們一個(gè)個(gè)地從這根棒搬到另一根棒上,規(guī)
定可利用中間的一根棒作為幫助,但每次只能搬一個(gè),而且大的不能放在小的上面。解答
結(jié)果請(qǐng)自己運(yùn)行計(jì)算,程序見尾部。面對(duì)龐大的數(shù)字(移動(dòng)圓片的次數(shù))15,看來,眾僧們
耗盡畢生精力也不可能完成金片的移動(dòng)。
后來,這個(gè)傳說就演變?yōu)闈h諾塔游戲:
1.有三根桿子A,B,C。A桿上有若干碟子
2.每次移動(dòng)一塊碟子,小的只能疊在大的上面
3.把所有碟子從A桿全部移到C桿上

解題思路

1.如果只有一個(gè)金片,則把該金片從源移動(dòng)到目標(biāo)棒,結(jié)束。
2.如果有n個(gè)金片,則把前n-1個(gè)金片移動(dòng)到中轉(zhuǎn)的棒,然后把自己移動(dòng)到目標(biāo)棒,最后再把前n-1個(gè)移動(dòng)到目標(biāo)棒。

題目及題解

題目描述

漢諾塔問題(又稱為河內(nèi)塔問題),是一個(gè)大家熟知的問題。在A,B,C三根柱子上,有n個(gè)不同大小的圓盤(假設(shè)半徑分別為1~n吧)一開始他們都魯在A上,你的目標(biāo)是在最少的合法移動(dòng)步數(shù)內(nèi)將所有盤子從A塔移動(dòng)到C塔。游戲中的每一步規(guī)則如下1每一步只允許移動(dòng)一個(gè)盤子(從一根柱子最上方到另一個(gè)柱子的最上方)2.移動(dòng)的過程中,你必須保證大的盤子不能在小的盤子上方(小的可以放在大的上面,大盤子下面不能有任何其他大小的盤子)給出一個(gè)數(shù)n,求出最少步數(shù)的移動(dòng)序列

輸入

輸入盤子數(shù)N

輸出

輸出步數(shù)M,接下的M行,按以下格式輸出 i 盤子編號(hào),a為柱編號(hào),b為柱編號(hào)

輸入樣例

3

輸出樣例
7
1 form A to C
2 form A to B
1 form C to B
3 form A to C
1 form B to A
2 form B to C
1 form A to C

題解

#define _CRT_SECURE_NO_WARNINGS 1
#include#includevoid Hanoi(int n, char pos1, char pos2, char pos3);
void move(char pos1,char pos2);
int main()
{int n;
	scanf("%d", &n);
	printf("%.0lf\n", pow(2, n) - 1);
	Hanoi(n, 'A', 'B', 'C');
	return 0;
}
//pos1 起始位置
// pos2 中轉(zhuǎn)位置
// pos3 目的位置
void move(int n,char pos1,char pos2)
{printf("%d form %c to %c\n",n,pos1,pos2 );
}
void Hanoi(int n,char pos1,char pos2,char pos3)
{int count = 0;

	if (n == 1)
	{		move(1,pos1, pos3);//遞歸結(jié)束條件,直接從起始位置至目的位置
	}
	else
	{Hanoi(n - 1, pos1, pos3, pos2);
		move(n,pos1, pos3);
		Hanoi(n - 1, pos2, pos1, pos3);
	}

}

輸出截圖

輸出截圖

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

當(dāng)前文章:漢諾塔問題-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://www.muchs.cn/article14/ipige.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、自適應(yīng)網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)企業(yè)網(wǎng)站制作、網(wǎng)站排名、App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作