NCR的Python代码使用递归公式中的memoization给出错误的结果

时间:2014-07-07 10:52:52

标签: python algorithm python-2.7 python-3.x recursion

这是我的代码。说错了。

array = [[0]*101]*101
#To initialise a 2d array of size 101x101

def ncr(n, r):
    global array
    if r==0 or n==r:
        return 1
    if array[n][r] is not 0:
        return array[n][r]
    array[n][r] = ncr(n-1,r)+ncr(n-1,r-1)
    return array[n][r]


print ncr(11,8)

现在程序的输出应该是ncr(11,8)= 165.但它打印9841。 代码怎么了?

0 个答案:

没有答案