def move(n,x,y,z): if n == 1: print(x+'-->'+z) else: move(n-1,x,z,y)#acb move(1,x,y,z)#abc move(n-1,y,x,z)#bac #3 #2,acb #x=a,y=c,z=b #1,ac #ab #1,cb #abc #2,bac #x=b,y=a,z=c #1,ba #bc #ac #4 #3,acb #x=a,y=c,z=b #2,abc #x=a,y=b,z=c #1,ab #ac #bc #ab #2,cab #x=c,y=a,z=b #1,ca #cb #ab #ac #3,bac #x=b,y=a,z=c #2,bca #x=b,y=c,z=a #1,bc #ba #ca #bc #2,abc #x=a,y=b,z=c #1,ab #ac #bc #ab #ac #bc #ab #ca #cb #ab #ac #bc #ba #ca #bc #ab #ac #bc
虽然是按照@腿腿小魔王的捋顺了.但是还是没大消化掉. 然后我自己代入程序走了一遭n=3 && n=4. 发现.我陷入了一个误区,确切点说是没抓到这个或者说是这类问题的点. 在写这个的时候.突然间明白.递归其实就是假定,前面的都已经成功了.只差最后一步了.这最后一步是要做什么.然后最后一步之前的,假定它的前一步已经完成了.以此类推.
Sign in to make a reply
流动的浮华
虽然是按照@腿腿小魔王的捋顺了.但是还是没大消化掉. 然后我自己代入程序走了一遭n=3 && n=4. 发现.我陷入了一个误区,确切点说是没抓到这个或者说是这类问题的点. 在写这个的时候.突然间明白.递归其实就是假定,前面的都已经成功了.只差最后一步了.这最后一步是要做什么.然后最后一步之前的,假定它的前一步已经完成了.以此类推.