问题描述
给定数列1, 1, 1, 3, 5, 9, 17, …,从第4 项开始,每项都是前3项的和。求第20190324项的最后4位数字。
题目解析
这道题跟斐波那契数列非常相似,只是这里每个数都是前3个数的和。
这道题的重点在最后4位数字,一定要审清题目。这里有一个小技巧,将每次算出的前三项之和%10000即可彻底解决溢出问题。
C++代码
#include<bits/stdc++.h> //万能头文件
using namespace std;
int main()
{
int a=1,b=1,c=1,y=0; //初始化
for(int i=4;i<20190325;i++)
{
y = (a+b+c)%10000;
a = b;
b = c;
c = y;
}
cout<<y;
}