当前位置: 高中信息技术 / 填空题
  • 1. (2020高一上·连云港期末) 递归就是自己调用自己,它是设计和描述算法的一种有力工具,常常用来解决比较复杂的问题。为求解规模为N的问题,设法将它分解成规模较小的问题,从小问题的解容易构造出大问题的解,并且这些规模问题较小的问题也能采用同样的分解方法,分解成规模更小的问题,并能从这些更小问题的解构造出规模较大问题的解。一般情况下,规模N=1时,问题的解是已知的。已知:从1到n的连续自然数相乘的积、叫做阶乘、用符号n!表示。如5!=1×2×3×4×5,规定0!=1。我们用递归算法可以较容易求n的阶乘。求n的阶乘算法可以描述如下:

    n!=n*(n-1)!   (n-1)!=(n-1)*(n-2)!   (n-2)!=(n-2)*(n-3)!

    2!=2*1!    1!=0!     0!=1

    如果把n!写成函数形式,即f(n),f(n)=n*f(n-1)。如f(5)就是表示5!,求5!的过程可以写成如下形式:

    f(5)=5*f(4)   f(4)=4*f(3)   f(3)=3*f(2)   f(2)=2*f(1)   f(1)=1

    (问题求解)在python中用递归算法求1!+2!+……+n!(n的值为整数,从键盘输入)。请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。

    def f(n):

    if n==0:

        return 1

    else:

        return

    s=0

    n=int(input("请输入n:"))

    for i in:

        s=

    print(s)

微信扫码预览、分享更方便