用python 斐波那契数列是这样的,1,1,2,3,5,8,13,...。也就是第一项和第二项是1,后面所有的数列的值都是前面二 22 项的加和。输入一个大于2的正整数n,输出数列的第n个数 值。
时间: 2024-05-08 21:20:10 浏览: 88
好的,你的问题已经收到。对于输入的大于2的正整数n,可以使用以下 Python 代码来求解斐波那契数列的第n个数值:
```
def get_fibonacci(n):
if n == 1 or n == 2:
return 1
else:
return get_fibonacci(n-1) + get_fibonacci(n-2)
n = int(input("请输入一个大于2的正整数n:"))
if n <= 2:
print("输入不合法,请重新输入!")
else:
result = get_fibonacci(n)
print("斐波那契数列的第", n, "个数值为:", result)
```
注意,在这段代码中,我们首先判断输入的整数n是否合法,如果小于等于2,则无法计算斐波那契数列的第n个数值。如果合法,我们调用get_fibonacci函数来计算斐波那契数列的第n个数值,并输出结果。
相关问题
获取第38次斐波那契数列的值,以及 前38次值的总和; (数列规律是: 1 1 2 3 5 8 13 ..... 分析规律是:第三个数=第一个数+第二个数)
获取第38次斐波那契数列的值需要通过递归或者动态规划来计算,因为斐波那契数列就是前两个数相加得到下一个数的序列。以下是计算第38个斐波那契数和前38个数总和的一个Python示例:
```python
def fibonacci(n):
fib_sequence = [0, 1] # 初始化序列 with first two numbers
if n <= 0:
return "输入的数值需大于0"
elif n == 1:
return fib_sequence[0]
elif n == 2:
return fib_sequence[1]
else:
for i in range(2, n):
fib_sequence.append(fib_sequence[i - 1] + fib_sequence[i - 2])
return fib_sequence[n - 1]
# 计算第38次斐波那契数
fib_38th = fibonacci(38)
# 计算前38次斐波那契数的总和
total_sum = sum(fib_sequence[:38])
print("第38个斐波那契数:", fib_38th)
print("前38个斐波那契数的总和:", total_sum)
```
运行上述代码后,你将得到第38个斐波那契数和前38个数的总和。
斐波那契数列指的是这样一个数列: 1、 1、2、3、5、 ....其第一项和第二项为1,从第三项开始,每- -项等于前两项之和,用python求出该数列的前20项。
好的,下面是 Python 代码,可以求出斐波那契数列的前20项:
```
a, b = 1, 1
for i in range(20):
print(a)
a, b = b, a+b
```
输出结果如下:
```
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
```
请问这个答案是否满足你的需求呢?
阅读全文