使用python编写程序解决下面问题:斐波纳契数列指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)。请编写程序,得出F(20)的结果。
时间: 2023-12-28 16:48:59 浏览: 33
可以使用递归或迭代方法来求解斐波那契数列。这里提供一个递归的解法。
```python
def fibonacci(n):
if n == 1 or n == 2:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
result = fibonacci(20)
print(result)
```
输出结果为:`6765`。
相关问题
求斐波纳契数列:1,1,2,3,5,8…的前n项,n的值从键盘输入
好的,下面是 Python 代码实现:
```python
n = int(input("请输入n的值:"))
fibonacci = [1, 1] # 前两项已知为1
for i in range(2, n):
fibonacci.append(fibonacci[i-1] + fibonacci[i-2]) # 根据公式计算第i项
print(f"斐波那契数列的前{n}项为:{fibonacci}")
```
代码解析:
1. 首先从键盘输入n的值,并将其转换成整数类型。
2. 创建一个列表`fibonacci`,将前两项赋值为1。
3. 使用`for`循环遍历2到n-1的所有整数,并利用斐波那契数列的递推公式`fibonacci[i] = fibonacci[i-1] + fibonacci[i-2]`计算每一项的值,并添加到`fibonacci`列表中。
4. 最后输出斐波那契数列的前n项。
用python写一个计算斐波纳契数列的程序
好的,我可以回答这个问题。以下是一个用Python编写的斐波那契数列计算程序:
```
def fibonacci(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
n = int(input("请输入要计算的斐波那契数列的项数:"))
for i in range(1, n+1):
print(fibonacci(i), end=" ")
```
你可以输入要计算的斐波那契数列的项数,程序会计算并输出所需的数列。