铜板上,三根宝石针折射出夺目的光芒,在杨成眼中却是另一番景象。
在他的脑海中,装载有金片的宝石针,被命名为a,其他两根,则是b和c。
a宝石针上的三块金片,从小到大,从上而下,编号为1,2,3。
那这个问题就可以阐述为,将宝石针a上的所有金片,移到b上,并且按照同样的顺序叠置。
嗯,就是这样!
杨成脑海中继续进行推演。
按照汉诺塔问题的解法,先将宝石针a,b,c排成一个三角形。
a->b->c->a
这样就构成了一个顺时针循环。
接着,算法如下:
在移动金片的过程中,如果是奇数次移动(比如说第一次),将最小的金片移到顺时针方向的下一根宝石针上。
比方说第一次移动,就是将a1移到b。
如果是偶数次移动,则保持最小的金片不动,而在其他两根宝石针之间,将较小的金片移到另一根上面去。
比方说第二次移动,此时最小的金片在b,保持不动,而将a2移到c。
以后每一次移动都按照上面来做。
所以,我们必须记录两个东西:
1.当前移动的次数
2.最小的金片位于哪根宝石针上(初始化是宝石针a)
这个算法将持续到,所有金片都按照顺序叠置到了宝石针b,算法结束。
按照这个算法,杨成很容易就求出了移动金片的过程。
“a1到b”
“a2到c”
“b1到c”
“a3到b”
“c1到a”
“c2到b”
“a1到b”
“一共是7步”,杨成不慌不忙地说出了答案。
“很好!”,一直沉默不语的僧侣说出这几个字。
“关于世界的终极答案,即使是神也无从知晓”。
“但我们不能失去进取心,停下对未知世界探索的脚步!”
“叮!恭喜您完成汉诺塔任务!当前积分173分,击败了全球46%的玩家,请您再接再厉!”
在他的脑海中,装载有金片的宝石针,被命名为a,其他两根,则是b和c。
a宝石针上的三块金片,从小到大,从上而下,编号为1,2,3。
那这个问题就可以阐述为,将宝石针a上的所有金片,移到b上,并且按照同样的顺序叠置。
嗯,就是这样!
杨成脑海中继续进行推演。
按照汉诺塔问题的解法,先将宝石针a,b,c排成一个三角形。
a->b->c->a
这样就构成了一个顺时针循环。
接着,算法如下:
在移动金片的过程中,如果是奇数次移动(比如说第一次),将最小的金片移到顺时针方向的下一根宝石针上。
比方说第一次移动,就是将a1移到b。
如果是偶数次移动,则保持最小的金片不动,而在其他两根宝石针之间,将较小的金片移到另一根上面去。
比方说第二次移动,此时最小的金片在b,保持不动,而将a2移到c。
以后每一次移动都按照上面来做。
所以,我们必须记录两个东西:
1.当前移动的次数
2.最小的金片位于哪根宝石针上(初始化是宝石针a)
这个算法将持续到,所有金片都按照顺序叠置到了宝石针b,算法结束。
按照这个算法,杨成很容易就求出了移动金片的过程。
“a1到b”
“a2到c”
“b1到c”
“a3到b”
“c1到a”
“c2到b”
“a1到b”
“一共是7步”,杨成不慌不忙地说出了答案。
“很好!”,一直沉默不语的僧侣说出这几个字。
“关于世界的终极答案,即使是神也无从知晓”。
“但我们不能失去进取心,停下对未知世界探索的脚步!”
“叮!恭喜您完成汉诺塔任务!当前积分173分,击败了全球46%的玩家,请您再接再厉!”