用递归函数求n的阶乘及斐波那契数列中的第n个数的值

Posted moranqiuxin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用递归函数求n的阶乘及斐波那契数列中的第n个数的值相关的知识,希望对你有一定的参考价值。

题目要求:使用递归函数求n的阶乘及斐波那契数列中第n项的值。

1.求n的阶乘:

一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。

计算公式为n!=1×2×3×...×n;递推公式可写作n!=n×(n-1)!

于是有:

def fact(n):
if n==1:
return 1
return n*fact(n-1)
n=int(input("请输入一个正整数:"))
print(fact(n))

 

2.求斐波那契数列中第n项的值:

形如1、1、2、3、5、8、13、21、34……从第3项开始,每一项都等于前两项之和,该数列称为斐波那契数列(Fibonacci sequence)。

递推公式为F(n)=F(n-1)+F(n-2),n≥3,F(1)=1,F(2)=1。

由此,有:

def fib(n):
if n<3:
return 1
return fib(n-1)+ fib(n -2)
n=int(input("请输入一个正整数:"))
print(fib(n))


 

以上是关于用递归函数求n的阶乘及斐波那契数列中的第n个数的值的主要内容,如果未能解决你的问题,请参考以下文章

用递归函数求斐波那契数列的第n项的值

递归求斐波那契数列

求斐波那契数列的第n个数(递归非递归)

编写一递归函数求斐波那契数列的前40项

如何用递归解决斐波那契数列

递归总结及斐波那契数列的实现