重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
def factorial(n):
在罗甸等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站设计、成都网站建设 网站设计制作按需求定制开发,公司网站建设,企业网站建设,高端网站设计,网络营销推广,成都外贸网站建设公司,罗甸网站建设费用合理。
result = n
for i in range(1,n):
result *= i
return result
def main():
print factorial(4)
if __name__ == '__main__':
main()
阶乘介绍:
基斯顿·卡曼(Christian Kramp,1760~1826)于 1808 年发明的运算符号,是数学术语。
一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。
亦即n!=1×2×3×...×(n-1)×n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)!×n。
python不鼓励递归,请看这个函数的递归版(def sn_recursion)和非递归版(def sn)的代码对比:
def recursion(n):
if n==1:
return 1
else:
return n*recursion(n-1)
list=[]
#定义一个空的列表,将调用递归函数生成的阶乘值追加到列表
print("将1-10的阶乘写入列表,使用sum函数求和") #显示效果明显
for i in range(1,11):
list.append(recursion(i))# 将调用递归函数生成的阶乘值追加到列表
print(sum(list)) #列表求和
sum_0=0
#显示效果明显,center(80,"*")标题放置位置
print("for循环直接调用递归函数求和".center(80,"*"))
for i in range(1,11):
sum_0 +=recursion(i)
print(sum_0)
这是1-10的阶乘求和,你可以参考下!
输出的结果
1 math.factorial(x)
用python计算n的阶乘的方法!(含示例代码)
2. reduce函数
用python计算n的阶乘的方法!(含示例代码)
3. 递归实现
按照题目要求编写的Python的阶乘递归程序如下
def jiecheng(n):
if n==1:
return 1
else:
return n*jiecheng(n-1)
print(jiecheng(5))
源代码(注意源代码的缩进)