zoukankan      html  css  js  c++  java
  • 睡不着,随便写了下汉诺塔的解决方法。

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

    namespace ConsoleApplication1
    {
        
    class Program
        
    {
            
    static void Main(string[] args)
            
    {

                    
    int times = new HanoiTower(3).SolveTower();
                
                Console.WriteLine(
    "一共需要{0}次", times);

                Console.ReadKey();
            }

        }


        
    class HanoiTower
        
    {
            
    private int plates;
            
    public HanoiTower(int plates)
            
    {
                
    this.plates = plates;
            }

            
    public int SolveTower()
            
    {
                
    return SolveTower(plates, "A""B""C");
            }

            
    private int SolveTower(int plates,string a, string b, string c)
            
    {
                
    int count = 0;
                
    if (plates <= 0)
                    
    throw new ArgumentOutOfRangeException("plates","盘子数必须是大于0的整数");
                
    if (plates == 1)
                

                    move(a, c);
                    
    return 1;
                }

                count 
    += SolveTower(plates - 1, a, c, b);
                count 
    += SolveTower(1, a, b, c);
                count 
    += SolveTower(plates - 1, b, a, c);
                
    return count;

            }

            
    private void move(string a, string c)
            
    {
                Console.WriteLine(a 
    + " => " + c);
            }

        }

    }

    张旋(zxsoft)
    如对本文有什么疑问,请在下面写下留言,谢谢!

  • 相关阅读:
    [转]Android Permission(授权)大全
    ubuntu改中文
    [转]dip, dp, px, sp区别
    【转】关于Android4.0 emulatorarm.exe应用程序错误,内存不能为"read"问题解决方法
    SharedPreferences 的用法
    [转]深入研究java.lang.ThreadLocal类
    [转]Android 中Parcelable的作用
    HierarchyView
    使用Silverlight Toolkit中的主题(Theme)
    Split参数StringSplitOptions.RemoveEmptyEntries的使用
  • 原文地址:https://www.cnblogs.com/zxsoft/p/1210400.html
Copyright © 2011-2022 走看看