漢諾塔問題

package ten_algorithm.dac;

/**
 * Author:jinpma
 * Date :2019/12/28
 */
public class Hanotower
{
    public static void main(String[] args)
    {
        char A = 'A';
        char B = 'B';
        char C = 'C';
        Hanotower.hannotower(A,B ,C,3 );
    }
    public static void hannotower(char A,char B, char C,int n)
    {
        if (n == 1)
        {
            System.out.println("將第1片從"+A+"->"+C+"");
        }else
        {
            //三步走思想
            //1.將n-1從A移動到B
            hannotower(A,C ,B ,n - 1 );
            //2.將n從A移動到C
            System.out.println("將第"+n+"片從"+A+"->"+C+"");
            //3.將n-1從B到C
            hannotower(B, A,C ,n - 1 );
        }
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章