用递归函数求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个数的值的主要内容,如果未能解决你的问题,请参考以下文章