-->
当前位置:首页 > 题库 > 正文内容

函数题:汉诺塔

Luz3年前 (2022-04-25)题库742
汉诺塔问题来源于一个故事:
$$\qquad$$在世界某个地方有一个很虔诚的宗教组织,其中僧侣维护着一项神圣任务:保持宇宙的时间。在时间的最开始,僧侣在平台上树立了3个垂直杆,在最左侧杆上有64个不同半径的金色同心圆盘,直径较大的圆盘堆放在下方,形成了金字塔样子的整体外观。僧侣们的任务是将所有圆盘从最左侧杆子移动到最右侧杆子上,这个宗教认为:当僧侣们完成任务时,万事万物将化为乌有,宇宙将结束。
$$\qquad$$僧侣们移动圆盘需要遵从特定的规则:
$$\qquad$$(1)一次只能移动一个盘子;
$$\qquad$$(2)盘子只能在3个标杆之间移动;
$$\qquad$$(3)更大的盘子不能放在更小的盘子上面
$$\qquad$$故事讲完了,它的可信度有多大呢?试着用程序来模拟这个有趣的游戏吧,看看如果有64个盘片的话要移动多少次,需要多少时间。
$$\qquad$$3个标杆分别用A、B、C来表示。

![hanoi.PNG](~/9fbca256-4954-4287-b64e-0c18275e765b.PNG)

### 函数接口定义:
python
在这里描述函数接口。
def hanoi(n, src, dst, mid):

n:接收盘片的数量,为整数;
src、dst、mid分别表示盘片移动的源、目标、中间过渡,这里为字符串。


### 裁判测试程序样例:
python
在这里给出函数被调用进行测试的例子。例如:
count = 0
n=int(input())
hanoi(n, "A", "C", "B")
print(count)


/* 请在这里填写答案 */


### 输入样例:

在这里给出一组输入。例如:

in
3


### 输出样例:

在这里给出相应的输出。例如:

out
7







答案:若无答案欢迎评论

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。