题目描述:
给定数列 1, 1, 1, 3, 5, 9, 17, …,从第 4 项开始,每项都是前 3 项的和。求 第 20190324 项的最后 4 位数字。
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个 4 位整数(提示:答案的千位不为 0),在提交答案时只填写这个整数,填写 多余的内容将无法得分。
题目分析:
首先该题为数组,可以利用循环下标进行求得第20190324项,又因从第四项开始为前三项和,题中给出了4,5,6项则我们可以从第7项开始进行求解;
注意:要考虑数据范围的问题,同时题中结果仅要后四位,所以我们可以对数值%10000;
代码如下:
public class FondNum {
public static void main(String[] args) {
System.out.print(fondnum(20190324));
}
public static int fondnum(int index) {
int x = 3;
int y = 5;
int z = 9;
int temp = 0;
for (int i = 7; i <= index; i++) {
temp = (x + y + z) % 10000;
x = y % 10000;
y = z % 10000;
z = temp;
}
return temp;
}
}
输出:4659