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);
        }
    }
    设计思路:根据书上一个类似的题目做的





  • 相关阅读:
    表达式求解
    block的使用
    UITableView 知识点总结
    UIView 实战习题
    三、 UIView封装的简单动画
    二、 UIButton的使用总结
    一、 UIView的常见属性
    iOS开发网络篇之文件下载、大文件下载、断点下载
    多线程-NSthread
    二.初始化方法
  • 原文地址:https://www.cnblogs.com/duannaud/p/10846007.html
Copyright © 2011-2022 走看看