汉诺塔的理解


(1)当1个时,直接A->C
(2)当2时,将2->B A->C 2->C
(3)当3时,将前2个打包成2',现在只要处理(2)的情况
(4)当4时,将前3个打包成3',现在只要处理(3)的情况
(N)当N时,将前N-1个打包(N-1)',即只要处理(N-1)的情况


move(n, a, b, c) ;;;a,b,c的位置是相对的,这里是将A->C
{
    if (n == 1)
        将A->C
    else
        move(n-1, a, c, b)  装n-1移动到B(参见(2)的情况),
        将A->C
        move(n-1, b, a, c)  装n-1移动到C(参见(2)的情况),
}

你可能感兴趣的:(汉诺塔的理解)