蓝桥杯 Fibonacci 数列 java

问题描述

思路:

  • 用一个数组来存储 Fn,空间足够大;
  • 用一个for循环实现递推,每循环一次都取模。

代码:

import java.util.Scanner;

//Fibonacci 数列
public class BEGIN_4 {

    public static void main(String[] args) {
        int mod = 10007;
        int MAXN = 10000 * 100;
        int[] ans = new int[MAXN];
        ans[1] = ans[2] = 1;
        Scanner sc = new Scanner(System.in);
        Integer n = sc.nextInt();
        for (int i = 3; i <= n; i++) {
            ans[i] = (ans[i - 1] + ans[i - 2]) % mod;
        }
        System.out.println(ans[n]);
    }

}

有疑问或者更好的方法欢迎在下方评论

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页