python计算斐波那契数列第n项的值
时间: 2023-06-05 17:48:10 浏览: 134
可以使用递归或循环的方式来计算斐波那契数列第n项的值。以下是使用递归的方法:
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
print(fibonacci(10))
输出结果为:55
使用循环的方法:
def fibonacci(n):
if n <= 1:
return n
else:
a, b = 0, 1
for i in range(2, n+1):
c = a + b
a, b = b, c
return b
print(fibonacci(10))
输出结果为:55
相关问题
用Python计算斐波那契数列第n项
斐波那契数列是一组数列,其中每个数字都是前两个数字之和。数列的前几项为:0,1,1,2,3,5,8,13,21,34,55,89,……
可以使用递归或循环来计算斐波那契数列的第n项。
1. 使用递归
递归是一种方法,通过在函数内部调用自身来解决问题。斐波那契数列的第n项可以通过以下递归函数来计算:
```python
def fibonacci_recursive(n):
if n <= 1:
return n
else:
return fibonacci_recursive(n-1) + fibonacci_recursive(n-2)
```
在这个函数中,如果n小于或等于1,则直接返回n。否则,递归调用函数本身以计算前两个数字的和。
2. 使用循环
循环是另一种计算斐波那契数列的方法。下面的代码展示了如何使用循环计算斐波那契数列的第n项:
```python
def fibonacci_iterative(n):
if n <= 1:
return n
else:
a, b = 0, 1
for i in range(n-1):
a, b = b, a + b
return b
```
在这个函数中,如果n小于或等于1,则直接返回n。否则,使用循环计算前两个数字的和,并将它们不断更新,直到计算到第n个数字。
如果要计算斐波那契数列的第n项,可以调用上述函数,并传入n作为参数。例如,要计算第10个数字,可以调用:
```python
print(fibonacci_recursive(10))
print(fibonacci_iterative(10))
```
输出结果为:55
python求fibonacci数列第n项值
可以用递归或循环的方式来求解Fibonacci数列第n项的值。以下是递归和循环两种方法的代码示例:
递归方法:
```python
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
```
这个方法的缺点是,当n比较大时,会出现大量的重复计算,导致效率很低。
循环方法:
```python
def fibonacci(n):
if n <= 1:
return n
else:
a, b = 0, 1
for i in range(2, n+1):
c = a + b
a = b
b = c
return b
```
这个方法通过循环计算,避免了递归带来的重复计算。效率比递归方法高很多。
使用时只需要调用fibonacci(n)即可,其中n为要求的项数。
阅读全文