数列求值
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
给定数列 1, 1, 1, 3, 5, 9, 17,⋯,从第 4
项开始,每项都是前 3
项的和。
求第 20190324
项的最后 4
位数字。
运行限制
- 最大运行时间:1s
- 最大运行内存: 128M
记录题解
不会写,看题解区大佬写的
package com.xiang.lanqiao;
/**
* @author snape
* @create 2022-02-08 19:00
*/
public class TheSequence {
/**
* 20190324 这个数过于庞大 无论是递归还是迭代 程序都无法正常运行,
* 而且int、long、BigDecimal等都无法承载这么大的数
* 题目要求我们只取最后四位,
* 那我们可以对每次运算出来的结果 %10000 这样每次结果就都保留最后四位数字
*
* @param args
*/
public static void main(String[] args) {
int o = 0,p = 1,q = 1,r = 1;
for (int i = 4; i <= 20190324; i++) {
o = p;
p = q;
q = r;
r = (p+q+o)%10000;//4659
}
System.out.println(r);
}
}