可爱的Linda酱


私信TA

用户名:uq_56686454401

访问量:260

签 名:

等  级
排  名 23091
经  验 642
参赛次数 0
文章发表 4
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

首先,我们需要一个阶乘函数。输入一个整数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 人评分

  评论区

  • «
  • »