编写Python程序,计算任意正整数n的阶层,该怎么解答这个问题,有没有人来帮忙解答!
def factorial(n):
"""
计算正整数n的阶乘
"""
if n == 0 or n == 1:
return 1
else:
return n * factorial(n - 1)
# 测试
n = 5
print("{}的阶乘是:{}".format(n, factorial(n)))
不知道你这个问题是否已经解决, 如果还没有解决的话:段落6给出了一个算法来计算任意正整数n的阶乘,代码如下:
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
以上代码是一个递归算法,基本思路是将n的阶乘分解为n和n-1的阶乘的乘积,一直递归下去,直到n=0时返回1。
如果不想用递归,也可以用一个循环来实现,代码如下:
def factorial(n):
result = 1
for i in range(1, n+1):
result *= i
return result
以上代码利用循环计算n的阶乘,每次将结果乘以i,i从1到n遍历。
至此,这个问题得到解决。