zoukankan      html  css  js  c++  java
  • Hanoi塔问题

    传说在古代印度的贝拿勒斯圣庙里,安放了一块黄铜板,板上插了三根宝石柱(不妨设A、B、C柱),在A宝石柱上,自上而下按由小到大的顺序串有64个金盘。要求将A柱子上的64个金盘按照下面的规则移到C柱上。
    规则: 
    ①一次只能移一个盘子; 
    ②盘子只能在三个柱子上存放; 
    ③任何时候大盘不能放在小盘上面。
    任务:输入正整数n(A柱上的盘子数),输出移动到C柱上的移动过程。
    分析 :设A上有n个盘子。
    1. n=1时,则将圆盘从A直接移动到C。
    2. n=2时,则:
    ①将A上的1个圆盘移到B上;
    ②再将A上的一个圆盘移到C上;

    ③最后将B上的1个圆盘移到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()
    {
        hanoi(20,'X','Y','Z');    
    }
        

     关于C++Dev-C++的下载

  • 相关阅读:
    css
    团队介绍
    day4
    线段树懒标记
    P2014选课
    P2015
    扩展欧几里得(exgcd)求解不定方程/求逆元
    transform和tolower
    快读
    bzoj2118
  • 原文地址:https://www.cnblogs.com/YXC1024074325/p/5650887.html
Copyright © 2011-2022 走看看