题目链接:
https://www.lanqiao.cn/courses/2786/learning/?id=67813
答案:4659
解析:根据题目容易想到线性递推,若记dp[i]为第n项的最后4位数字,则递推方程为:
dp[i]=(dp[i-1]+dp[i-2]+dp[i-3])%10000
代码:
//#define local
#include<cstdio>
#include<iostream>
using namespace std;
typedef long long ll;
int dp[20190325];
int main(){
#ifdef local
freopen("data.in","rb",stdin);
//freopen("data.out","wb",stdout);
#endif
dp[1]=1;
dp[2]=1;
dp[3]=1;
int last=20190324;//20190324
for(int i=4;i<=last;i++){
dp[i]=(dp[i-1]+dp[i-2]+dp[i-3])%10000;
}
cout<<dp[last];
return 0;
}