走到这个地方,又碰见了拦路虎;就是虽然program是正确的,但是F(300,3)的答案还是拿不到,为什么呢?

在(四.三)中,我们看见了这个麻烦,f(29,3)半天出不来结果,那么俺只好再次尝试其他方法了,还是老办法,递推加excel表。

问题是,这次递推+excel表按照老办法管用么???

实践证明,只要小心和对比那个递归program输出,相互比较一下,还是管用的;对这句话不感兴趣的读者可以忽略了。

请看下表

n个球 F(1,n,3) F(1,x-1,2)+1 F(1,x-1,2) F(1,y-x-1,2) F(1,n-y,3) x-1 x y-x-1 y n-y
0 0                  
1 1                  
2 2                  
3 3 2 1 0 0 1 2 0 3 0
7 4 3 2 1 1 3 4 1 6 1
13 5 4 3 2 2 6 7 3 11 2
24 6 5 4 3 3 10 11 6 18 6
39 7 6 5 4 4 15 16 10 27 12
61 8 7 6 5 5 21 22 15 38 23
89 9 8 7 6 6 28 29 21 51 38
126 10 9 8 7 7 36 37 28 66 60
171 11 10 9 8 8 45 46 36 83 88
227 12 11 10 9 9 55 56 45 102 125
293 13 12 11 10 10 66 67 55 123 170
372 14 13 12 11 11 78 79 66 146 226
463 15 14 13 12 12 91 92 78 171 292
569 16 15 14 13 13 105 106 91 198 371
689 17 16 15 14 14 120 121 105 227 462
826 18 17 16 15 15 136 137 120 258 568
979 19 18 17 16 16 153 154 136 291 688

由于 293 < 300 < 372,所以f(1,300,3)=13

Advertisements