首页 > 试题广场 >

斐波那契数列

[编程题]斐波那契数列
  • 热度指数: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
package main

import (
    "fmt"
)

func main() {
    var k int
    fmt.Scan(&k)
    if k<3{
        fmt.Print(1)
    }else{
        a,b,c:=1,1,2
        for i:=4;i<=k;i++{
            a=b
            b=c
            c=a+b
        }
        fmt.Print(c)
    }
}

发表于 2023-03-18 01:39:29 回复(0)

问题信息

上传者:小小
难度:
1条回答 5972浏览

热门推荐

通过挑战的用户

查看代码
斐波那契数列