问题分析:
对于这道题,我依旧采用的是归纳总结的方法;这个方法还是很有效的。以下是我的总结规律的过程:
当n=1时,way=1;
当n=2时,way=2(11&2);
当n=3时,way=4(111&12&21&3);
当n=4时,way=8(1111&22&112&121&211&13&31&4);
当n=5时,way=16(11111&122&212&221&1112&1121&1211&2111&311&131&113&23&32&41&14&5);
........
由上面的规律可知:后一项都是前一项的两倍,这样问题就很容易解决了,用循环的方法效率会比递归的方法高的多;我的代码如下:
图片说明
如果是递归的话,就直接把else里面的内容换成:JumpFloorTT(2*target)。