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');
    }


    }


     

  • 相关阅读:
    PHP中读写文件
    HTMLmeta
    穷举密码序列(C#)
    多线程访问winform控件示例
    Web服务器
    [转]javascript 之 select下拉框
    大中小字体显示
    WPF中StringFormat的用法
    常用的 19 条 MySQL 优化
    resin部署安装
  • 原文地址:https://www.cnblogs.com/frog2008/p/2331681.html
Copyright © 2011-2022 走看看