简单实现1!+ 2!+3!...+n!算法


方法一:使用python内存方法reduce

from functools import reduce

def factorial(n): s = 0 if not isinstance(n ,int): raise TypeError elif n in (0, 1): return 1 else: for i in range(1, n+1): s = s + reduce(lambda x, y: x*y, range(1, i+1)) return s

方法二:循环

def factorial(n):
a = 0
if not isinstance(n, int):
raise TypeError
elif n in (0, 1):
return 1
else:
for i in range(1, n + 1):
s = 1
for j in range(1, i+1):
s = s * j
a = a + s
return a


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM