怎么用python输出斐波那契数列的第n项
时间: 2024-05-15 20:15:48 浏览: 6
可以使用递归或循环来求解斐波那契数列的第n项。
方法一:递归
递归求解斐波那契数列的第n项,代码如下:
```python
def fib(n):
if n <= 1:
return n
else:
return fib(n-1) + fib(n-2)
```
方法二:循环
循环求解斐波那契数列的第n项,代码如下:
```python
def fib(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,输出斐波那契数列的第n项。
示例代码:
```python
n = int(input("请输入一个正整数n:"))
print("斐波那契数列的第", n, "项为", fib(n))
```
相关问题
python输出斐波那契数列前n项
可以使用递归或循环来输出斐波那契数列前n项。
使用递归:
```python
def fib(n):
if n <= 1:
return n
else:
return fib(n-1) + fib(n-2)
n = int(input("请输入斐波那契数列的项数:"))
for i in range(n):
print(fib(i))
```
使用循环:
```python
n = int(input("请输入斐波那契数列的项数:"))
fib_list = [0, 1]
for i in range(2, n):
fib_list.append(fib_list[i-1] + fib_list[i-2])
for i in range(n):
print(fib_list[i])
```
这两种方法都可以输出斐波那契数列前n项,区别在于递归方法的时间复杂度较高,当n较大时,递归方法会很慢。
Python输出斐波那契数列前n项
可以使用递归或循环来实现,以下是使用循环实现的代码:
```
n = int(input("请输入要输出斐波那契数列前几项:"))
a, b = 0, 1
for i in range(n):
print(a, end=' ')
a, b = b, a+b
```
输出结果为:
```
请输入要输出斐波那契数列前几项:10
0 1 1 2 3 5 8 13 21 34
```