首页 > 试题广场 >

斐波那契数列

[编程题]斐波那契数列
  • 热度指数:3690 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
\hspace{15pt}斐波那契数列(Fibonacci Sequence)定义如下:
\hspace{23pt}\bullet\, F_1 = F_2 = 1
\hspace{23pt}\bullet\, 对于 i \geqq 3,有 F_i = F_{i-1} + F_{i-2}

\hspace{15pt}给定一个正整数 k,请你输出 F_k 的值。由于这个结果可能很大,你只需要输出这个结果对 (10^9+7) 取模后的结果即可。

输入描述:
\hspace{15pt}在一行上输入一个整数 k\left(1\leqq k\leqq 10^6\right)


输出描述:
\hspace{15pt}输出一个整数,表示 F_k \bmod (10^9+7) 的值。
示例1

输入

19

输出

4181
a=b=1
for _ in range(2,int(input())):
    b,a=a+b,b
print(b)
#由于只需要输出第n个数,所有并不需要将前面的数都保存在数组里,只需要记住最后两个数即可。
编辑于 2020-07-31 22:26:00 回复(0)

python3解法:

res = [1, 1]
for i in range(int(input()) - 2):
    res.append(res[-1] + res[-2])
print(res[-1])
编辑于 2019-02-23 10:35:14 回复(0)

问题信息

上传者:小小
难度:
2条回答 5976浏览

热门推荐

通过挑战的用户

查看代码
斐波那契数列