求Fibonacci 数列前n项值的python代码
时间: 2024-06-03 17:09:29 浏览: 91
当然,下面是Python代码:
def fibonacci(n):
if n <= 1:
return n
else:
return (fibonacci(n-1) + fibonacci(n-2))
n = int(input("请输入项数:"))
if n <= 0:
print("输入错误!请输入一个正整数。")
else:
print("Fibonacci 数列的前 %d 项为:" % n)
for i in range(n):
print(fibonacci(i), end=" ")
相关问题
求斐波那契数列前n项python
以下是两种Python求斐波那契数列前n项的方法:
1.循环方法
```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
n = int(input("请输入要求斐波那契数列前几项:"))
for i in range(n):
print(fibonacci(i), end=' ')
```
2.递归方法
```python
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
n = int(input("请输入要求斐波那契数列前几项:"))
for i in range(n):
print(fibonacci(i), end=' ')
```
python编写递归函数、求斐波那契数列第n项_用Python实现求Fibonacci数列的第n项
可以用递归实现斐波那契数列的求解,代码如下:
```python
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
```
这个函数接受一个整数n作为参数,返回斐波那契数列的第n项。当n为0或1时,直接返回n;否则,递归调用函数求解第n-1和第n-2项,并将它们相加即可。但是,这个递归实现的效率很低,因为会重复计算很多值。
为了提高效率,可以用循环实现斐波那契数列的求解,代码如下:
```python
def fibonacci(n):
if n <= 1:
return n
else:
a, b = 0, 1
for i in range(n-1):
a, b = b, a+b
return b
```
这个函数和前面的函数类似,但是用循环代替了递归,避免了重复计算。在循环中,用a和b分别表示前两项,然后不断更新它们的值,直到计算出第n项为止。
阅读全文