蓝桥杯:数列求值

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

给定数列 1,1,1,3,5,9,17,⋯1,1,1,3,5,9,17,⋯,从第 44 项开始,每项都是前 33 项的和。

求第 2019032420190324 项的最后 44 位数字。

运行限制

  • 最大运行时间:1s

  • 最大运行内存: 128M

题目分析

一个斐波那契函数的改版,这个是前三个数相加而已,题目要的是后四位数,我们只需要每次相加都对10000取模,这样可以防止数据过大,丢失精度

AC代码

package lanqiaob;

public class 数列求值 {
    public static void main(String[] args) {

        int a = 1 ;
        int b =1 ;
        int c= 1 ;
        int d =0 ;


        for (int i =4 ;i<=20190324 ;i++){
            d= (a+b+c)%10000;
            a= b ;
            b= c ;
            c= d ;
        }


        System.out.println(d);
    }
}

你可能感兴趣的:(蓝桥杯,算法,java)