niusouti.com

盘子数为4的汉诺塔问题需要移动盘子的次数为 ()A.7B.8C.15D.16

题目

盘子数为4的汉诺塔问题需要移动盘子的次数为 ()

A.7

B.8

C.15

D.16


相似考题
参考答案和解析
15
更多“盘子数为4的汉诺塔问题需要移动盘子的次数为 ()”相关问题
  • 第1题:

    六个盘子中各放有一块糖,每次从任选的两个盘子中各取一块放入另一个盘子中,这样至少要做多少次,才能把所有的糖都集中到一个盘子中?( )

    A.3次

    B.4次

    C.5次

    D.6次


    正确答案:B

  • 第2题:

    阅读以下说明,回答问题1至问题3,将答案填入答题纸对应栏内。

    【说明】

    在某嵌入式处理器上,编写以下两段秸序(编译选项中,存储采用4字节对齐方式)。

    程序段1:

    struct studentl {

    char name [10] ;

    long sno;

    char sex;

    float score [4] ;

    *pl, al, bl;

    程序段2:

    union student2 {

    char name [10] ;

    long sno;

    char sex,

    float score [4] ;

    *p2, a2, b2;

    汉诺塔问题说明:有n个盘子在A处,盘子从小到大,最上面的盘予最小,程序要

    把这n个盘子从A处搬到C处,可以在E处暂存,但任何时候都不能出现大的盘子压

    在小的盘子上面的情况。

    下列是一段求解汉诺塔问题的C语言程序。

    include <stdio . h>

    void move (int n, char a, char c)

    {

    static int Step=l;

    printf ("Step %2d: Disk %d %c..--> %c\n", Step, n, a, c) ;

    Step++;

    }

    void Hanoi (int n, char a, char b, cnar c)

    {

    if (n>l)

    {

    Hanoi (n-l, a, c, b) ;

    move (n, a. c) ;

    Hanoi (n-l, b, a, c) ;

    }

    else move (n,a,c);

    }

    void main()

    {

    Hanoi(3, ’A’, 、B’, 、C ’);

    }

    【问题1】(3分)

    C语言函数的一般格式为:

    <函数类型> <函数名> (<参数列表>)

    {

    <函数体>;

    }

    简答下述问题,将答案填写在答题纸中对应栏目。

    (l)<函数类型>的含义是什么?

    (2)<参数列表>的含义是什么?

    (3)C语言函数之间的参数如何传递?

    【问题2] (6分)

    回答问题,将答案填写在答题纸中对应栏目。

    (1)sizeof(struct studentl)结果是多少

    (2) sizeof(union student2)结果是多少

    (3)变量a2在程序段2中定义,写出执亍以下语句后的输出结果。

    strcpy (a2. name,¨zhangwei¨);

    a2.sex=’f’;

    printf ("%s¨, a2 .name);

    【问题3](6分)

    仔细阅读求解汉诺塔问题的C语言程序,完成其中(1)~(4)空白填空,将答案

    填入答题纸的对应栏内。

    运行结果为:

    Step1:Disk l A---->C

    Step 2: (l)

    Step 3: Disk I C---->B

    Step4: (2)

    Step 5: (3)

    Step 6: Disk 2 B---->C

    Step 7: (4)


    正确答案:
    本题考查C语言应用知识。
    【问题l】
    C语言函数的一般格式为:
    <函数类型><函数名>(<参数列表>:
    (
    <函数体>;
    )
    其中<函数类型>为函数返回值的类型,无返回值时应写void;<参数列表>为函数
    的接口参数,可以为空,即表示没有参数,但函数名后面的0不能省略。
    C语言函数之间的参数传递是传值,是通过栈来传递的。调用时所有参数在栈中新
    开辟相应类型的单元并将实参值填入,函数中对参数的任何操作都是对栈中单元的操作,
    调用结束,栈中开辟的相应单元都会释放,并不影响实参变量的值。
    【问题2】
    studentl是一个结构体,sizeof(structstudentl)结果为所有元素字节数之和,因此
    sizeof(structstudentl)结果为:10+4+1-16=31字节。
    student2是联合体(或共用体),sizeo(unionstudent2)结果为其中最长一个元素的
    字节数。因此sizeof(unionstudent2)结果为:16字节。
    变量a2在程序段2中定义,执行以下语句:
    Strcpy(a2.name,”zhangwei”)
    a2.sex=f;
    Printf(“%s,a2.name);
    结果为:“fhangwei”
    【问题3]
    汉诺塔问题是指有n个盘子在A处,盘子从大到小,最上面的盘子最小,现在要把
    这n个盘子从A出搬到C处,可以在B处暂存,但任何时候不能出现大的盘子压在小
    的盘子上面的情况。算法如下:
    (1)若n=l,则可以将盘子直接从A处搬到C处;
    (2)假设n-l时,指导如何解;
    (3)则n时,根据(2)的假设,可以先把前n-1个盘子从A处通过C处搬到B处,
    就可以把第n个盘子直接从A处搬到C处,再把前n-l个盘子从B处通过A处搬到C
    处,则完成了全部盘子搬动。
    因此,运行结果为:
    Step1:DisklA---->C
    Step2:Disk2A---->B
    Step3:DisklC----->B
    Step4:Disk3A----->C
    Step5:DisklB----->A
    Step6:Disk2B----->C
    Step7:DisklA----->C
    参考答案
    【问题1]
    (l)<函数类型>的含义是:函数返回值的类型,无返回值时应写为void;
    (2)<参数列表>的含义是:函数的接口参数,可以为空,即表示没有参数,但函
    数名后面的()不能省略。
    (3)C语言函数之间的参数传递是传值,是通过栈来传递的。
    【问题2]
    (1)sizeof(structstudentl)结果为:31
    (2)sizeof(unionstudent2)结果为:16
    (3)执行语句后的结果为:“fhangwei”
    【问题3]
    (1)Disk2A->B
    (2)Disk3A->C
    (3)DisklB->A
    (4)DisklA->C

  • 第3题:

    甜点装盘时,所有的主料、配料及饰品不得露在()。

    • A、盘子的外沿
    • B、盘子边缘距中心1/2
    • C、盘子边缘距中心的1/3处
    • D、盘子的边缘距中心1/4处

    正确答案:A

  • 第4题:

    西餐吃毕时,刀叉()放在盘子上,叉子向()、刀刃向();未用完时,刀子分开摆在盘子上左右两边。


    正确答案:合并齐;上;内

  • 第5题:

    用西餐完毕时刀叉摆放方法应该是()。

    • A、并排放在盘子上
    • B、交叉放在盘子上
    • C、随意放在桌子上

    正确答案:B

  • 第6题:

    盘子数量是4的汉诺塔问题,需要移动的步数是()

    • A、15
    • B、16
    • C、17
    • D、18

    正确答案:A

  • 第7题:

    甜点装盘时,下列说法正确的是()。

    • A、盘子应干净卫生、无破损
    • B、除饰品外,所有主料、配料都不得露在盘子的外沿
    • C、装盘后盘子四周允许有少量的汤汁
    • D、盘子应是有相同风格的

    正确答案:A

  • 第8题:

    句子“我吃饱了。”中的补语“饱”从语义上指向()。

    • A、施事“我”
    • B、动词“吃”
    • C、名词“盘子”
    • D、受事“盘子里的菜

    正确答案:A

  • 第9题:

    将刀、叉呈“八”字形搭在盘子两侧,表明已经吃完,暗示服务员可以收走盘子。


    正确答案:错误

  • 第10题:

    单选题
    中途放下刀叉,应将刀叉()。
    A

    “八”字形分别放在盘子上

    B

    平行放在盘子上

    C

    交叉放在盘子上


    正确答案: C
    解析: 暂无解析

  • 第11题:

    单选题
    盘子数量是4的汉诺塔问题,需要移动的步数是()
    A

    15

    B

    16

    C

    17

    D

    18


    正确答案: A
    解析: 暂无解析

  • 第12题:

    单选题
    句子“我吃光了盘子里的菜。”中的补语“光”从语义上指向()。
    A

    施事“我”

    B

    动词“吃”

    C

    名词“盘子”

    D

    受事“盘子里的菜”


    正确答案: B
    解析: 暂无解析

  • 第13题:

    六个盘子中各放有一块糖,每次从任选的两个盘子中各取一块放入另一个盘子中,这样至少要做多少次,才能把所有的糖都集中到一个盘子中?

    A.3

    B.4

    C.5

    D.6


    正确答案:B
    [答案] B[解析]此类操作性问题,要求最优的情况,需要细致的分析。按照题中的要求,每次从任选的两个盘子中各取一块放人另一个盘子中,开始时六个盘子是1、1、1、1、1、1,则第一次操作后一定是0、0、3、1、1、1。最后是0、0、0、0、0、6,则倒数第二次一定是0、0、0、1、1、4。现在需要考虑的就是0、0、3、1、1、1如何变成0、0、0、1、1、4,分析可知,从有三颗糖的盘子中取一粒,从有一颗糖的盘子中取一粒放在没有糖的盘子中,即变为2、0、2、0、1、1,然后从有两颗糖的盘子里取一粒,从有一颗糖的盘子里取一粒放在另一个有两颗糖的盘子里,变为了4、0、1、0、0、1,即达到了目的,共是4次操作。

  • 第14题:

    小瑗和爸爸一起包饺子,爸爸包的饺子是小瑗的两倍。爸爸的饺子放在四个盘子里,小瑗的饺子放在两个盘子里。六个盘子中的饺子数依次为15、19、20、21、22、23。那么小瑗的饺子在________。

    A.第2盘与第4盘
    B.第3盘与第4盘
    C.第2盘与第3盘
    D.第1盘与第6盘

    答案:A
    解析:
    根据题干条件可得,爸爸的饺子数是小瑗的两倍,设小瑗饺子数x,则爸爸饺子数2x,可得:
    总数=x+2x=3x=15+19+20+21+22+23=120,解得x=40。
    六个盘子中只有19+21=40可以凑出小瑗的饺子数,所以小瑗的饺子放在第二盘和第四盘。
    故正确答案为A。

  • 第15题:

    中途放下刀叉,应将刀叉()。

    • A、“八”字形分别放在盘子上
    • B、平行放在盘子上
    • C、交叉放在盘子上

    正确答案:A

  • 第16题:

    汉诺塔问题是古老的问题,不可以使用递归解决,最初是原型是印度的僧人移动盘子的故事。


    正确答案:错误

  • 第17题:

    数据结构里,汉诺塔问题,是递归解决的问题,需要()来帮助算法实现。

    • A、栈
    • B、图
    • C、二叉树
    • D、队列

    正确答案:A

  • 第18题:

    甜点装盘时,下列说法错误的是()。

    • A、盘子应干净、无破损
    • B、装盘后盘子四周应无汤汁
    • C、装盘后的甜点应尽快上桌
    • D、除饰品外,所有主料、配料都不得露在盘子的外沿

    正确答案:D

  • 第19题:

    服务员上菜时要注意,如果是满桌可以盘子叠盘子,不可大盘换小盘。()


    正确答案:错误

  • 第20题:

    句子“我吃光了盘子里的菜。”中的补语“光”从语义上指向()。

    • A、施事“我”
    • B、动词“吃”
    • C、名词“盘子”
    • D、受事“盘子里的菜”

    正确答案:D

  • 第21题:

    判断题
    汉诺塔问题是古老的问题,不可以使用递归解决,最初是原型是印度的僧人移动盘子的故事。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第22题:

    单选题
    数据结构里,汉诺塔问题,是递归解决的问题,需要()来帮助算法实现。
    A

    B

    C

    二叉树

    D

    队列


    正确答案: A
    解析: 暂无解析

  • 第23题:

    单选题
    ★妈妈还买了两打盘子、三打筷子和5瓶啤酒,她实际可以得到多少东西?
    A

    28个盘子、36双筷子和6瓶啤酒

    B

    24个盘子、9双筷子和7瓶啤酒

    C

    28个盘子、42双筷子和6瓶啤酒

    D

    24个盘子、9双筷子和7瓶啤酒


    正确答案: B
    解析: 暂无解析

  • 第24题:

    问答题
    她天天tì女主人洗盘子,从未打碎过一个盘子。

    正确答案:
    解析: 暂无解析