}
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);
}
}
}
}
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();
法則:
將 n 個盤子由A塔柱搬至C塔柱翻譯
所有移動次數 = 2^n - 1
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
程式碼如下:
1. 一次只能移動一個盤子。
2 搬運過程當中,大盤子不克不及置於小盤子上方。
河內塔目標:
// 遞迴 : 河內塔問題 (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();
本篇文章引用自此: http://mypaper.pchome.com.tw/middlehuang/post/1321728075有關各國語文翻譯公證的問題歡迎諮詢天成翻譯公司02-77260931
留言列表