zoukankan      html  css  js  c++  java
  • 第十一周作业

    编程题一:7-1 汉诺塔问题*
    汉诺塔是一个源于印度古老传说的益智玩具。据说大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘,大梵天命令僧侣把圆盘移到另一根柱子上,并且规定:在小圆盘上不能放大圆盘,每次只能移动一个圆盘。当所有圆盘都移到另一根柱子上时,世界就会毁灭。

    题图1.jpg

    请编写程序,输入汉诺塔圆片的数量,输出移动汉诺塔的步骤。

    输入格式
    圆盘数 起始柱 目的柱 过度柱

    输出格式
    移动汉诺塔的步骤
    每行显示一步操作,具体格式为:
    盘片号: 起始柱 -> 目的柱
    其中盘片号从 1 开始由小到大顺序编号。

    输入样例

    3
    a c b

    输出样例

    1: a -> c
    2: a -> b
    1: c -> b
    3: a -> c
    1: b -> a
    2: b -> c
    1: a -> c

    实验代码

    #include <stdio.h>
    void hanoi(int n,char x,char y,char z);
    int main()  
    {
         int n; 
         
         char x, y, z;
         
         scanf("%d\n",&n);
         
         scanf("%c %c %c", &x, &y, &z);
         
         hanoi(n,x,y,z);
         
         return 0;
    }
    void hanoi(int n,char x,char y,char z)
    {
        if(n==1)
        {
            printf("%d: %c -> %c\n",n,x,y);
        }
        else
        {
            hanoi(n-1,x,z,y);
            printf("%d: %c -> %c\n",n,x,y);
            hanoi(n-1,z,y,x);
        }
    }
    设计思路:根据书上一个类似的题目做的





  • 相关阅读:
    Python学习 day01打卡
    Python变量常量及注释
    Python基础简介
    「ubuntu」sudo命令卡住
    「ubuntu」sudo无密码
    「ubuntu」Ubuntu Recovery模式下只读问题
    「ubuntu」在Ubuntu Server 16.04 LTS下安装VMware Tools(转)
    「mysql」设置utf8编码
    「hive」hive2.3.0配置derby
    「hadoop」log4j参考
  • 原文地址:https://www.cnblogs.com/duannaud/p/10846007.html
Copyright © 2011-2022 走看看