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

    
    

    汉诺塔这种东西不能从程序的角度想 要从生活的角度想 原来从堆栈进出角度考虑就特别复杂 有些事是一层窗户纸 想多了反而没用

    
    

    if a上面只剩下一个盘子 移到c else 把n-1的盘子移到b a->c b->c

    
    
     
    using System;

    using System.Collections.Generic;
    using System.Text;

    namespace ConsoleApplication1.基础.算法
    {
    public class 汉诺塔
    {

    int count = 1;

    void move(int n,char x, char y)
    {
    Console.Write("" + count + "" + n + ":{0}-->{1}\n", x, y);
    }



    void hanoi(int n, char one, char two, char three)
    {


    if (n == 1)
    {
    move(n,one, three);
    count++;
    }
    else
    {
    hanoi(n - 1, one, three, two);
    move(n,one, three);
    count++;
    hanoi(n - 1, two, one, three);
    }
    }

    public void main1()
    {
    int m;
    Console.WriteLine("input the number of disks:");
    m=Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("the step to moving %3d diskes:\n", m);
    hanoi(m, 'A', 'B', 'C');
    }


    }


     

  • 相关阅读:
    代码面试最常用的10大算法
    ant google compiler 压缩
    美工资源
    面试题
    validate表单验证插件
    laypage分页
    layer弹出框小结
    Thymeleaf
    webApp开发
    grunt自动化构建工具
  • 原文地址:https://www.cnblogs.com/frog2008/p/2331681.html
Copyright © 2011-2022 走看看