看了答案才明白这逻辑
这函数实际上4个参数意思是(圆盘数,开始点,临时点,终点)
移两个就是先从开始点移动一个到临时点,再把开始点剩下的那个移动终点,最后把临时点移到终点
移动N个就是先把上面n-1个先移到临时点,当然这个移是要用汉诺塔移动法,所以这里用到递归,注意参数,原来的临时点在这个递归函数里变成了终点,所以终点和临时点换个位置
把n-1个移动到临时点之后,把a的那个移动到c点
最后通过汉诺塔移动法把b点的n-1个移动到c点,明显用递归,同样注意参数,把已经明确的起点和终点写上,临时点就是剩下那个
总的方法和2个一样,只是问题里写的太简单,想了好久没明显到底要做什么。
这函数实际上4个参数意思是(圆盘数,开始点,临时点,终点)
移两个就是先从开始点移动一个到临时点,再把开始点剩下的那个移动终点,最后把临时点移到终点
移动N个就是先把上面n-1个先移到临时点,当然这个移是要用汉诺塔移动法,所以这里用到递归,注意参数,原来的临时点在这个递归函数里变成了终点,所以终点和临时点换个位置
把n-1个移动到临时点之后,把a的那个移动到c点
最后通过汉诺塔移动法把b点的n-1个移动到c点,明显用递归,同样注意参数,把已经明确的起点和终点写上,临时点就是剩下那个
总的方法和2个一样,只是问题里写的太简单,想了好久没明显到底要做什么。
2015-09-18
sum = 0
x = 1
while x<=100 and x%2 != 0:
sum +=x
print sum
x = 1
while x<=100 and x%2 != 0:
sum +=x
print sum
2015-09-18
print 'hello, python'
print 'hello,', 'python'
print 'hello,', 'python'
2015-09-17
s = set(['Adam', 'Lisa', 'Bart', 'Paul','adam','bart'])
print 'adam' in s
print 'bart' in s
print 'adam' in s
print 'bart' in s
2015-09-17
print [int(x+y+x) for x in '123456789' for y in '0123456789']
2015-09-17