卖鱼熊 发表于 2018-4-6 17:03:10

35课汉诺塔打印内容变化问题

想问下这个汉诺塔递归打印的参数字母为什么会变化,谢谢各位。

BngThea 发表于 2018-4-6 17:17:16

因为xz变量对应的值一直在变化

卖鱼熊 发表于 2018-4-6 17:55:33

BngThea 发表于 2018-4-6 17:17
因为xz变量对应的值一直在变化

不好意思,我对这个1层里调用自己2次的递归有点懵,可以发一下函数的运行顺序吗

BngThea 发表于 2018-4-6 19:59:51

卖鱼熊 发表于 2018-4-6 17:55
不好意思,我对这个1层里调用自己2次的递归有点懵,可以发一下函数的运行顺序吗

不要被符号吓到了,根据递归的定义直接一步一步写出每个变量的变化或者用debug跟踪一下试试

卖鱼熊 发表于 2018-4-7 09:18:23

BngThea 发表于 2018-4-6 19:59
不要被符号吓到了,根据递归的定义直接一步一步写出每个变量的变化或者用debug跟踪一下试试

file:///C:/Users/ADMINI~1/AppData/Local/Temp/WeChat%20Files/0b8ef9739fe2d1a89db3c205010431e.png

画了个执行顺序,内容应该是没错的,但是就是不理解为什么对应颜色方框的字母参数会顺序不一样,我想问的是 我知道答案是=2,不知道1为什么突然就变成2.

卖鱼熊 发表于 2018-4-7 09:19:12

BngThea 发表于 2018-4-6 19:59
不要被符号吓到了,根据递归的定义直接一步一步写出每个变量的变化或者用debug跟踪一下试试

file:///C:/Users/ADMINI~1/AppData/Local/Temp/WeChat%20Files/0b8ef9739fe2d1a89db3c205010431e.png

画了个执行顺序,内容应该是没错的,但是就是不理解为什么对应颜色方框的字母参数会顺序不一样,我想问的是 我知道答案是=2,不知道1为什么突然就变成2. 不知道你能不能理解我说的。。

卖鱼熊 发表于 2018-4-7 09:20:27

卖鱼熊 发表于 2018-4-7 09:18
画了个执行顺序,内容应该是没错的,但是就是不理解为什么对应颜色方框的字母参数会顺序不一样,我想 ...

画的图在链接那里,复制到网页就能看到了

卖鱼熊 发表于 2018-4-7 09:29:44

如图

卖鱼熊 发表于 2018-4-7 09:31:58

卖鱼熊 发表于 2018-4-7 09:29
如图

我知道第一行的hanoi(1.a,b,c)和第五行hanoi(1,b,c,a)必须是这个顺序,但是不知道是怎么变成这个顺序的

桃花飞舞 发表于 2018-4-7 15:33:12

卖鱼熊 发表于 2018-4-7 09:29
如图

这字真好
页: [1]
查看完整版本: 35课汉诺塔打印内容变化问题