题目描述
思路分析
此题类似于斐波那契数列,但是所求20190324项的最后四位数字,要是单纯按照斐波那契数列的思想求下去,
别说long类型,BigInteger类型都存不了这么大的数,然后我们发现,所求20190324项的最后四位数字
(也就是变相的告诉我们运算过程只和每个数的后四位有关系),那么我们只需要保留每次运算结果的后四位就OK了,这样绝对不会溢出。
代码实现
package com.atguigu.TEST;import java.util.HashSet;
import java.util.Set;class Main{public static void main(String[] args) {int arr[]=new int[20190325];arr[1]=1;arr[2]=1;arr[3]=1;for (int i = 4; i < 20190325; i++) {arr[i]=(arr[i-1]+arr[i-2]+arr[i-3])%10000;}System.out.println(arr[20190324]);}}
答案
4659