using System;
using System.Collections.Generic;
using System.Linq;
public class Program {
public static void Main() {
int.TryParse(Console.ReadLine(), out int n);
Console.WriteLine(FibonacciSequence(n));
}
public static long FibonacciSequence(long num)
{
long dp = 0;
if(num <= 2)
{
return num;
}
else
{
//这个斐波那契数列的输入数非常大,直接用递归一定超时,用动态规划
long a =1; //f(1)
long b =1; //f(2)
const long INF = 1000_000_007L;
for (int i = 3; i <= num; i++)
{
dp = (a + b)%INF;
a = b;
b = dp;
}
return dp;
}
}
}

京公网安备 11010502036488号