您的位置:首页 > 其它

动态规划 —— 阶乘

2016-04-07 18:36 513 查看
def fact(n, memo):
if n == 0: return 1
if n not in memo:
memo
= n*fact(n-1, memo)
return memo


客户端(调用端):

if __name__ == '__main__':
memo = {}
print([fact(n, memo) for n in range(100)])


或者:

def fact(n, memo):
if n not in memo:
memo
= n*fact(n-1, memo)
return memo

if __name__ == '__main__':
memo = {0:1}
print([fact(n, memo) for n in range(100)])


注:本例虽然有动态规划的形式(记忆体),却无动态规划的实质,不存在重叠子问题,自然也就没有最优子结构,仍属简单的递归求解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: