1. 一次只能移動一個盤子。
2 搬運過程當中,大盤子不克不及置於小盤子上方。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
}
else
Hanoi(n, "A", "B"翻譯社 "C");
Console.WriteLine("Press Enter key to Exit");
Console.Read();
}
// 把 n 個盤子,從 form 柱,經過 by 柱,搬往 to 柱
public static void Hanoi(int n 翻譯社 String from翻譯社 String by, String to)
{
if(n > 0)
{
Hanoi(n - 1, from, to翻譯社 by);
Console.WriteLine("move no. {0} disk from {1} to {2}", n, from翻譯社 to);
Hanoi(n - 1, by, from, to);
}
}
}
}
河內塔目標:
程式碼以下:
法則:
// 遞迴 : 河內塔問題 (Towers of Hanoi)
// hanoi() 把 n 個盤子翻譯社從 form 柱,經過 by 柱,搬往 to 柱
// 作者: Chris Huang
// 程式說話: VC# 2008 Expression Edition
}
else if (n < 0)
{
Console.WriteLine("input error, number must > 0"); ///小於零之數不正當
Console.WriteLine("Press Enter key to Exit");
Console.Read();
namespace DataStructure
{
class Recursion
{
static void Main(string[] args)
{
int n = 0;
Console.Write("Please input number => ");
try {
n = Convert.ToInt16(Console.ReadLine()); // 讀入數字
}
catch (Exception ex) { // Argument is optional翻譯社 no "When" keyword
Console.WriteLine(ex.Message);
Console.Read();
}
if(n>15){
Console.WriteLine("The calucation time will be too long to wait.....");
Console.WriteLine("Press Enter key to Exit");
Console.Read();
全數移動次數 = 2^n - 1
本文引用自: http://mypaper.pchome.com.tw/middlehuang/post/1321728075有關各國語文翻譯公證的問題歡迎諮詢天成翻譯公司02-77260931
留言列表