首先,我们需要一个阶乘函数。输入一个整数x,能返回x的阶乘。
阶乘怎么搞?第一个想到的方法自然是递归。
def 阶乘(x):
if x==1:
return 1
return x*阶乘(x-1)
嗯,python是可以使用中文作为变量名的。这你不会不知道吧?
当然,实际上不需要递归,只需要使用i循环区间(1,x+1)求可以求乘积就行了。
def 阶乘(x):
乘积=1
for i in range(1,x+1):
乘积*=i
return 乘积
有了阶乘函数,我们接下来就要求和。我们首先想到的是循环:
n=int(input())
和=0
for i in range(1,n+1):
和+=阶乘(i)
print(和)
当然,因为求和的过程与求阶乘相似。所以我们自然也想到了递归求和的方法:
def 阶乘之和(n):
if n==1:
return 1
return 阶乘(n)+阶乘之和(n-1)
n=int(input())
print(阶乘之和(n))
对于求和与求阶乘的步骤,都是既能够使用递归又能够使用循环。
递归的代码简单、直观,但是消耗更多内存,运行起来慢。循环的代码较为繁琐,但运行速度快。两者各有优劣
0.0分
1 人评分