zoukankan      html  css  js  c++  java
  • 递归与分治思想:汉诺塔(递归 && 分治思想)

     1 //64个盘子
     2 //划分成小问题:1.将上面的63个盘子从x借助z移动到y上
     3                2.将第64个盘子从x移动到z上
     4                3.将y上的63个盘子借助x移动到z上
     5 详解:https://www.bilibili.com/video/av81085437
     6 #include<stdio.h>
     7 
     8 void move(int n, char x, char y, char z)
     9 {
    10     if(n == 1)
    11     {
    12         printf("%c-->%c\n",x,z);
    13     }
    14     else
    15     {
    16         move(n-1,x,z,y);  //将n-1个盘子从x借助z移动到y 
    17         printf("%c-->%c\n",x,z);//将第n个盘子从x移动到z上 
    18         move(n-1,y,x,z);  // 将n-1个盘子从y借助x移动在z上 
    19     }
    20 }
    21 
    22 int main(void)
    23 {
    24     int n;
    25     char x,y,z;
    26     printf("请输入汉诺塔的层数:"); 
    27     scanf("%d",&n);
    28     printf("移动的步骤如下:\n");
    29     move(n,'x','y','z'); 
    30     return 0;
    31 }
  • 相关阅读:
    CentOS 7
    CentOS
    CentOS 7
    CentOS 7
    Linux目录结构说明
    CentOS 7
    CentOS 7
    Linux——工具参考篇
    Linux工具进阶
    Selenium——UI自动化测试(2)——How to Download & Install Selenium WebDriver (待续)
  • 原文地址:https://www.cnblogs.com/ZhengLijie/p/12491489.html
Copyright © 2011-2022 走看看