zoukankan      html  css  js  c++  java
  • 汉诺塔

    1143 汉诺塔

    题目描述

    汉诺塔问题是这样的:有3根柱子A,B,C,其中A柱上有64个盘子,盘子大小不等,大的在下,小的在上。要求把这64个盘子从A柱移到C柱上,在移动过程中可以借助B柱,每次只允许移动一个盘子,且在移动过程中在三根柱子上都保持大盘在下,小盘在上。从键盘输入一个整数n(n<=64)表示盘子的个数,打印出移动盘子的正确步骤。

    输入描述

    /*
    从键盘输入盘子的个数n。
    */
    3
    

    输出描述

    /*
    打印出n个盘子的移动步骤。每一步骤占据一行。
    */
    a->c
    a->b
    c->b
    a->c
    b->a
    b->c
    a->c
    
    #include<stdio.h>
    void hanoi(int n,char a,char b ,char c){
        if(n==1)
            printf("%c->%c
    ",a,c);
        else{
           hanoi(n-1,a,c,b);
           printf("%c->%c
    ",a,c);
           hanoi(n-1,b,a,c);
        }
    }
    int main()
    {
       int n;
       char a='a',b='b',c='c';
       scanf("%d",&n);
       hanoi(n,a,b,c);
    }
    
    
  • 相关阅读:
    Java ListIterator(迭代器)
    java 异常 throw
    java iterator(迭代器)
    java list
    type Iterator does not take parameters
    Java 容器的打印
    java 添加一组元素
    Java 容器的基本概念
    软件
    java 学习网站
  • 原文地址:https://www.cnblogs.com/lwp-nicol/p/14279320.html
Copyright © 2011-2022 走看看