您的位置:首页 > 编程语言 > Python开发

汉诺塔java和python的实现

2016-03-14 16:08 197 查看
汉诺塔是递归经典的应用实例,主要思想是借助中间柱,将源目标柱的套圈移到目标柱:以下为实现代码:

Java

package ms;

import org.junit.Test;

public class Hanoi {
@Test
public void test(){
hanoi(3,"A","B","C");
}
public void hanoi(int n, String from, String middle, String to){
if(n==1)
move(from,to);
else{
hanoi(n-1, from, to , middle);
move(from, to);
hanoi(n-1, middle, from, to);
}
}
private void move(String a, String c) {
System.out.println(a+"----->"+c);
}
}


python

__author__ = 'home'

def hanoi(n, src, middle, dest):
if n == 1:
move(src,dest)
else:
hanoi(n-1,src,dest,middle)
move(src,middle)
hanoi(n-1,middle,src,dest)

def move(src , dest):
print(src+"--->"+dest)

hanoi(3,"a","b","c")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python java 递归